我在试着用powershell恢复英特尔PCH温度。我找不到任何使用wmi检索此温度的方法。我机器上的芯片组是HM77。我试着阅读了英特尔网站上提供的数据表,但没有成功。有人知道怎么做吗?
谢谢。
注:我可以通过HWINFO应用程序读取此英特尔PCH温度传感器,因此它可以通过某种方式完成。
发布于 2016-04-28 21:17:37
您可以使用以下命令获取主板上所有传感器的当前温度
Get-WmiObject -Class Win32_PerfFormattedData_Counters_ThermalZoneInformation |Select-Object Name,Temperature根据系统中可用的传感器,您的输出应该类似于此。
Name Temperature
---- -----------
\_TZ.PCHZ 400
\_TZ.BATZ 273
\_TZ.LOCZ 334
\_TZ.EXTZ 327
\_TZ.GFXZ 335
\_TZ.CPUZ 337编辑(2016年4月30日)
对于那些正在使用CommandLine并且可以使用
wmic /namespace:\\root\cimv2 PATH Win32_PerfFormattedData_Counters_ThermalZoneInformation get Temperature所有的温度都是以开尔文表示的,你可以很容易地将它们转换成°C或°F。
发布于 2014-02-20 01:26:13
我想我明白了。在powershell命令行中,我输入wmic并进入"wmic:root\cli>“提示符。然后我键入temperature,它列出了所有传感器及其DeviceID。在CreationClassName中,它写着"Win32_TemperatureProbe“。
现在,您只需要找到正确的属性来读取temp。它们在这里解释:Win32_TemperatureProbe class
列出所有属性及其值的PS脚本:
$probes = Get-WmiObject -class Win32_TemperatureProbe
foreach($probe in $probes) {
Write-Host $probe
$probe | Format-List -Property *
}我没有找到我的MB temp,因为我的主板上有两个传感器,我不知道哪一个是哪一个,而且我没有时间阅读文档,但这应该可以让你开始。
发布于 2014-02-20 02:50:14
要使用PowerShell,你可能必须通过WMI来完成(即@frikozoid的非常好的答案)。不幸的是,无法通过WMI获取温度读数。MSDN文档说
“无法从SMBIOS表中提取CurrentReading属性的实时读数。出于这个原因,WMI的当前实现不填充CurrentReading属性。CurrentReading属性的存在是为将来使用而保留的。”
:-(
原因是每个主板制造商都有不同的返回温度值的方法,这将需要主板特定的dll,等等。
我发现最简单的监控主板温度的工具是SpeedFan。它支持几乎所有的主板,并且非常容易使用。
至于温度,你通常希望你的芯片组保持在60摄氏度以下,CPU和GPU的温度可能会高达70摄氏度。一般来说,如果你能将一切都保持在60摄氏度以下,事情就会运行得很好很长时间。我知道在我的系统上,如果我的GPU超过70摄氏度,事情就开始变得怪异,通常系统就会崩溃。
-编辑
看起来你可以通过SpeedFan来完成其中的一部分。SpeedFan提供了一种配置事件的方法(参见:Configure Events),因此您可以将其设置为在温度达到特定值时执行脚本。
https://stackoverflow.com/questions/21884264
复制相似问题