通过 PowerShell 获取系统健康信息

通过 PowerShell 获取系统健康信息

是否可以通过 PowerShell 获取系统健康状态?诸如 CPU 利用率、已用 RAM、CPU 温度等信息。

答案1

由于 PowerShell 可以创建.NET Framework 对象,我建议绩效计数器此任务的类。

这个类使用起来可能有点麻烦,但是提供了您需要的大部分功能。

要获取类别列表,只需调用静态GetCategories()方法即可:

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

为了帮助您入门,我写了一个小演示:

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

笔记PerformanceCounter班级才不是支持检索 CPU 温度数据,因为该过程高度依赖于架构。

查看这个问题了解更多信息。

答案2

您可以使用开放硬件监视器

开放硬件监视器是一款免费的开源软件,可监视计算机的温度传感器、风扇速度、电压、负载和时钟速度。

您可以在此处访问命令行版本:

打开硬件监控报告

输出示例部分:

PS C:\Users\myuser\OpenHardwareMonitorReport> .\OpenHardwareMonitorReport.exe

Open Hardware Monitor Report

--------------------------------------------------------------------------------

Version: 0.8.0.2

--------------------------------------------------------------------------------

Common Language Runtime: 4.0.30319.42000
Operating System: Microsoft Windows NT 6.2.9200.0
Process Type: 32-Bit

--------------------------------------------------------------------------------

Sensors

|
+- HP 00F52W (/mainboard)
|
+- Intel Core i7-3770 (/intelcpu/0)
|  +- Bus Speed      :  99.7734  99.7734  99.7784 (/intelcpu/0/clock/0)
|  +- CPU Core #1    :  3691.62  3691.62  3791.58 (/intelcpu/0/clock/1)
|  +- CPU Core #2    :  3691.62  3691.62  3791.58 (/intelcpu/0/clock/2)
|  +- CPU Core #3    :  3791.39  3791.39  3891.36 (/intelcpu/0/clock/3)
|  +- CPU Core #4    :  3691.62  3691.62  3891.36 (/intelcpu/0/clock/4)
|  +- CPU Core #1    :       42       42       43 (/intelcpu/0/temperature/0)
|  +- CPU Core #2    :       43       37       43 (/intelcpu/0/temperature/1)
|  +- CPU Core #3    :       42       35       42 (/intelcpu/0/temperature/2)
|  +- CPU Core #4    :       45       41       45 (/intelcpu/0/temperature/3)
|  +- CPU Package    :       45       43       45 (/intelcpu/0/temperature/4)

相关内容