Obtención de información sobre el estado del sistema a través de PowerShell

0

¿Es posible obtener el estado del sistema mediante PowerShell? Información como uso de la CPU, RAM usada, temperatura de la CPU, etc.

VSZM
fuente

Respuestas:

2

Como el PowerShell puede crear Objetos de .NET Framework , Recomendaría el PerformanceCounter clase para esta tarea

Esta clase puede ser problemática para trabajar, pero proporciona la mayoría de las funciones que necesita.

Para obtener una lista de categorías puede obtener simplemente llamar a la estática GetCategories() método:

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

Para empezar, escribí una pequeña demostración:

$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
}

Nota que el PerformanceCounter clase no admite los datos de temperatura de la CPU de recuperación ya que ese procedimiento depende en gran medida de la arquitectura.

Revisa esta pregunta tan para más información.

MrPaulch
fuente