你可以從WMI這一信息,但它需要幾個步驟:
$resources = Get-WmiObject -namespace root\MSCluster MSCluster_Resource -filter "Type='Physical Disk'"
$resources | foreach {
$res = $_
$disks = $res.GetRelated("MSCluster_Disk")
$disks | foreach {
$_.GetRelated("MSCluster_DiskPartition") |
select @{N="Name"; E={$res.Name}}, @{N="Status"; E={$res.State}}, Path, VolumeLabel, TotalSize, FreeSpace
}
} | ft
這將使類似下面你輸出:
Name Status Path VolumeLabel TotalSize FreeSpace
---- ------ ---- ----------- --------- ---------
Cluster Disk 2 2 K: New Volume 5220 5163
SQL - FAS3070 SiteB 2 S: MC_SQL 5597 5455
SM Test 2 M: SM Test 1024 992
DTC - FAS3070B 2 F: MC_WITNESS 5346 5289
Cluster Disk Witness 2 E: New Volume 5322 5267
Cluster Disk 1 2 G: MC_DTC 5088 5035
Cluster Disk 3 2 T: SQL 5119 4999
如果你不關心資源名稱/狀態,你可以跳過這些步驟,直接跳轉到該分區(它會更快運行):
gwmi -namespace root\MSCluster MSCluster_DiskPartition | ft Path, VolumeLabel, TotalSize, FreeSpace
編輯:請注意,大小以MB爲單位,狀態爲「2」表示磁盤處於聯機狀態。
結果看起來不錯。目前我沒有訪問羣集服務器。所以明天我會試試這個劇本。 –
像寶石一樣工作..感謝很多Eric –
Eric:你能幫我解釋一下如何過濾Volumelabel嗎?我得到的音量標籤是「App Cluster 1,App Cluster 2,Witness Disk,DB Cluster」。我想列舉名稱類似「App羣集?」的卷只要。 –