Я создал сценарий для получения информации о жестком диске с наших серверов. Сценарий использует WMI для запроса класса Win32_LogicalDisk и возвращает «Размер (ГБ)», «Свободное пространство (ГБ)» и «Свободное пространство (%)» для каждого идентификатора устройства (локального диска) каждого сервера.
Я хочу отсортировать по «Свободному пространству (%)» для каждого идентификатора устройства на каждом сервере. Когда я сортирую по «Свободному пространству (%)», он не показывает каждый идентификатор устройства. На одном сервере есть диски C: и D :, но в выходных данных отображается только диск D :. Если я удалю Sort-Object "Free Space (%)"
он покажет все идентификаторы устройств для каждого сервера.
Кто-нибудь может мне помочь с этим скриптом?
$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