此代码通过 powershell 脚本带来平均 CPU 温度 但找不到 SSD 或 HDD 温度的标注 我如何找到标注文档?
cls
$dll = "LibreHardwareMonitorLib.dll"
Unblock-File -LiteralPath $dll
Add-Type -LiteralPath $dll
$monitor = [LibreHardwareMonitor.Hardware.Computer]::new()
$monitor.IsCPUEnabled = $true
$monitor.Open()
[int]$temp = foreach ($sensor in $monitor.Hardware.Sensors) {
if ($sensor.SensorType -eq 'Temperature' -and $sensor.Name -eq 'Core Average'){
$sensor.Value
break
}
}
$monitor.Close()
write-host "$temp"
我使用 Libre 的原因是它是通过 cli 制作脚本的唯一选择,如果你知道其他可以与 powershell 一起使用的硬件监视器 api,我会赞赏它
如LibreHardwareMonitor GitHub 文档所示,您缺少存储启动器。
不熟悉您的代码,但看起来应该与此类似:
cls
$dll = "LibreHardwareMonitorLib.dll"
Unblock-File -LiteralPath $dll
Add-Type -LiteralPath $dll
$monitor = [LibreHardwareMonitor.Hardware.Computer]::new()
$monitor.IsCPUEnabled = $true
$monitor.IsStorageEnabled = $true
$monitor.Open()
[int]$temp = foreach ($sensor in $monitor.Hardware.Sensors) {
if ($sensor.SensorType -eq 'Temperature' -and $sensor.Name -eq 'Core Average'){
$sensor.Value
break
}
}
[int]$temp2 = foreach ($sensor in $monitor.Hardware.Sensors) {
if ($sensor.SensorType -eq 'Temperature' -and $sensor.Name -eq 'Temperature'){
$sensor.Value
break
}
}
$monitor.Close()
write-host "$temp"
write-host "$temp2"
确保优化代码,我刚刚为 SSD 添加了另一个循环,但只需重新处理第一个循环就会更好。另外,SSD 的 SensorType 和名称可能不同,我只是使用它们,因为这是我在使用 LibreHardwareMonitor.dll 的 Python 应用程序中看到的。
Temperature /nvme/0/temperature/0 45.0
Available Spare /nvme/0/level/1 100.0
Available Spare Threshold /nvme/0/level/2 5.0
Percentage Used /nvme/0/level/3 0.0
Data Read /nvme/0/data/4 1423.0
Data Written /nvme/0/data/5 1380.0
Used Space /nvme/0/load/0 36.56363296508789
Read Activity /nvme/0/load/31 0.0
Write Activity /nvme/0/load/32 1.2101701498031616
Total Activity /nvme/0/load/33 1.3301831483840942
Read Rate /nvme/0/throughput/34 0.0
Write Rate /nvme/0/throughput/35 109381.328125