Inventário de disco rígido do Script PowerShell

1

Eu criei um script para obter informações sobre o disco rígido de nossos servidores. O script usa o WMI para consultar a classe Win32_LogicalDisk e retorna "Tamanho (GB)", "Espaço livre (GB)" e "Espaço livre (%)" para cada ID de dispositivo (disco local) de cada servidor.

Quero classificar por "Espaço livre (%)" para cada ID de dispositivo em cada servidor. Quando classifico por "Espaço livre (%)", ele não mostra todos os IDs do dispositivo. Um servidor possui unidades C: e D:, mas apenas a unidade D: é mostrada na saída. Se eu remover o Sort-Object "Free Space (%)" , ele mostrará todos os IDs de dispositivo para cada servidor.

Alguém pode me ajudar com esse roteiro?

$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
    
por Charlie Lopez 01.05.2013 / 20:03

0 respostas