powershell - 无法检索群集可用存储的物理大小

标签 powershell wmi cluster-computing hyper-v

我的工作已经完成了一半,现在陷入困境。

我正在尝试获取有关群集的可用存储设备的信息。
我能够获取可用存储设备的列表,但无法检索这些可用存储的物理磁盘,可用空间等。

我要这样是否有任何命令可以从“群集磁盘名称”中获取物理磁盘名称,或者可以直接获取磁盘详细信息。
对于共享磁盘,我可以检索详细信息(Get-ClusterSharedVolume),但对于非共享磁盘,则不能。
我想要这样做的Powershell或WMI脚本。

最佳答案

您可以从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”表示磁盘处于联机状态。

关于powershell - 无法检索群集可用存储的物理大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6570650/

相关文章:

winforms - 如何在 PowerShell 中访问 GUI 事件的源?

powershell - 如何更新本地用户组的用户名?

c# - 如何将 WMI 集合显示到 WPF DataGrid

Cassandra 节点对于 up/down 状态和复制有不同的看法。怎么修?

amazon-ec2 - 如何在一组 Amazon EC2 上构建一个 torrent 集群,用于机器之间的文件传输?

php - 找不到保存处理程序 - Redis 集群

powershell - 如何从 PowerShell 脚本引用 NuGet 包文件?

windows - Powershell:$profile 指向我找不到的路径并设置永久路径

c# - 是否可以确定 Environment.SpecialFolder.System 驱动器的 Win32_DiskDrive SerialNumber?

delphi - 如何获取我的磁盘分区的 GUID?