Powershell 脚本硬盘清单

Powershell 脚本硬盘清单

我创建了一个脚本来从我们的服务器获取硬盘信息。该脚本使用 WMI 查询 Win32_LogicalDisk 类并返回每台服务器的每个设备 ID(本地磁盘)的“大小 (GB)”、“可用空间 (GB)”和“可用空间 (%)”。

我想按“可用空间 (%)”对每台服务器上的每个设备 ID 进行排序。当我按“可用空间 (%)”排序时,它不会显示每个设备 ID。一台服务器同时有 C: 和 D: 驱动器,但输出中只显示 D: 驱动器。如果我删除,它将Sort-Object "Free Space (%)"显示每台服务器的所有设备 ID。

有人能帮我用一下这个脚本吗?

$computers   = C:\users\mtrajano\documents\powershell\scripts\list.txt
$logicalDisk = Get-WmiObject Win32_LogicalDisk -Filter "DriveType=3" -Computer $computers |
    Select-Object SystemName, DeviceID,
        @{ Name = "Size (GB)";       Expression = { "{0:N1}" -f ($_.size / 1GB) } },
        @{ Name = "Free Space (GB)"; Expression = { "{0:N1}" -f ($_.freespace / 1GB) } },
        @{ Name = "Free Space (%)";  Expression = { "{0:P2}" -f (($_.freespace / 1GB) / ($_.size / 1GB)) } } |
            Sort-Object "Free Space (%)" |
                ConvertTo-Html |
                    Out-String

$messageParameters = @{
    To          = ""
    From        = ""
    Subject     = ""
    Body        = $logicalDisk
    SmtpServer  = ""
}

Send-MailMessage @messageParameters -BodyasHtml

相关内容