Obtendo informações de integridade do sistema via PowerShell

0

É possível obter o status do System Health por meio do PowerShell? Informações como utilização da CPU, RAM usada, temperatura da CPU, etc.

    
por VSZM 12.07.2015 / 12:33

1 resposta

2

Como o PowerShell pode criar Objetos do .NET Framework , eu recomendaria o PerformanceCounter class para esta tarefa.

Esta classe pode ser trabalhosa, mas fornece a maior parte da funcionalidade que você precisa.

Para obter uma lista de categorias, você pode simplesmente chamar o método estático GetCategories() :

[System.Diagnostics.PerformanceCounterCategory]::GetCategories()

Para começar, escrevi uma pequena demonstração:

$pc_prc = new-object System.Diagnostics.PerformanceCounter("Processor", "% Processor Time", "_Total")
$pc_ram = new-object System.Diagnostics.PerformanceCounter("Memory", "Available MBytes")

while(1) {
    $time = get-date
    echo ======================
    echo $time
    echo ======================
    $pc_prc_value = $pc_prc.NextValue()
    $pc_ram_value = $pc_ram.NextValue()
    echo " + Processor Load:   $pc_prc_value %"
    echo " + Available Memory: $pc_ram_value MB"
    sleep 1
}

Observe que a PerformanceCounter class não suporta os dados de temperatura de recuperação da CPU, pois esse procedimento é altamente dependente da arquitetura.

Confira esta pergunta do SO para obter mais informações.

    
por 12.07.2015 / 13:20

Tags