我创建了一个脚本来从我们的服务器获取硬盘信息。该脚本使用 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