Невозможно получить физический размер доступного хранилища для кластера. - PullRequest
1 голос
/ 04 июля 2011

Я на полпути к своей работе и застрял.

Я пытаюсь получить информацию о доступных устройствах хранения для кластера.Я могу получить список доступных устройств хранения, но не могу получить физический диск, доступное свободное пространство и т. Д. Из этого доступного хранилища.

Я хочу вот так.Есть ли какая-нибудь команда для получения имени физического диска из имени диска кластера, или я могу напрямую получить информацию о диске.Для общего диска я могу получить подробную информацию ( Get-ClusterSharedVolume ), но не для общего диска.Я хочу PowerShell или WMI скрипт для этого.enter image description here

Ответы [ 2 ]

3 голосов
/ 12 июля 2011

Вы можете получить эту информацию из 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

Редактировать. Обратите внимание, что размер указан в МБ, а состояние «2» означает, что диск подключен.

1 голос
/ 12 июля 2011

вы можете использовать wmi следующим образом:

Get-WMIObject Win32_LogicalDisk -filter "DriveType=3" | Select DeviceID, FreeSpace

добавить параметр computername, если вы хотите сделать это удаленно

HTH, Matt

PS.для более читабельного отчета вы можете попробовать это:

Get-WMIObject Win32_LogicalDisk -filter "DriveType=3" | 
  Select DeviceID, @{Name = "Free Space (%)" ; Expression= {[int] ($_.FreeSpace / $_.Size* 100)}},@{Name = "Free Space (GB)"; Expression = {[int]($_.Freespace / 1GB)}}, @{Name = "Size (GB)"; Expression = {[int]($_.Freespace / 1GB)}}
...