使用Powershell检索英特尔PCH温度
我正在尝试使用powershell检索英特尔PCH温度。我找不到使用wmi检索此温度的任何方法。我机器上的芯片组是HM77。我试着通读英特尔网站上提供的数据表,但没有成功。有人知道怎么做吗 谢谢使用Powershell检索英特尔PCH温度,powershell,wmi,intel,sensors,pch,Powershell,Wmi,Intel,Sensors,Pch,我正在尝试使用powershell检索英特尔PCH温度。我找不到使用wmi检索此温度的任何方法。我机器上的芯片组是HM77。我试着通读英特尔网站上提供的数据表,但没有成功。有人知道怎么做吗 谢谢 注意:我可以通过HWINFO应用程序读取此intel PCH温度传感器,因此可以通过某种方式进行读取。我想我已经获得了它。在powershell命令行中,我键入了wmic,并输入了“wmic:root\cli>”提示符。然后我输入了温度,它列出了所有传感器及其设备ID。CreationClassName
注意:我可以通过HWINFO应用程序读取此intel PCH温度传感器,因此可以通过某种方式进行读取。我想我已经获得了它。在powershell命令行中,我键入了
wmic
,并输入了“wmic:root\cli>”提示符。然后我输入了温度
,它列出了所有传感器及其设备ID。CreationClassName中写着“Win32_TemperatureProbe”
现在您只需要找到正确的属性来读取temp。他们在这里被解释:
PS脚本列出所有具有值的属性:
$probes = Get-WmiObject -class Win32_TemperatureProbe
foreach($probe in $probes) {
Write-Host $probe
$probe | Format-List -Property *
}
我没有找到我的MB温度,因为我的主板上有两个传感器,我不知道哪个是哪个,我也没有时间阅读文档,但这应该可以让你开始了。我想我知道了。在powershell命令行中,我键入了
wmic
,并输入了“wmic:root\cli>”提示符。然后我输入了温度
,它列出了所有传感器及其设备ID。CreationClassName中写着“Win32_TemperatureProbe”
现在您只需要找到正确的属性来读取temp。他们在这里被解释:
PS脚本列出所有具有值的属性:
$probes = Get-WmiObject -class Win32_TemperatureProbe
foreach($probe in $probes) {
Write-Host $probe
$probe | Format-List -Property *
}
我没有找到我的MB temp,因为我的主板上有两个传感器,我不知道哪个是哪个,我没有时间阅读文档,但这应该可以让你开始了。要使用PowerShell,你可能必须通过WMI(即@frikozoid的回答非常好)。不幸的是,无法通过WMI获取温度读数。MSDN文档中说 “无法读取CurrentReading属性的实时读数 从SMBIOS表中提取。因此,当前的实现 WMI的不填充CurrentReading属性。CurrentReading属性 财产的存在保留供将来使用。” :-( 原因是,每个主板制造商都有不同的返回温度值的方法,这需要主板特定的dll,等等 我发现的最简单的监控主板温度的工具是。它支持几乎所有的主板,而且非常容易使用 至于温度,您通常希望您的芯片组保持在60摄氏度以下。CPU温度可能会高达70摄氏度,GPU温度也可能会高达70摄氏度。一般来说,如果您能将所有温度保持在60摄氏度以下,系统将可以长时间运行。我知道,在我的系统上,如果我的GPU温度高于70摄氏度,系统会开始变得不正常,通常系统会崩溃 ---编辑---
看起来您可以通过SpeedFan完成部分工作。SpeedFan有一种配置事件的方法(请参阅:),这样您就可以将其设置为在温度达到某个特定值时执行脚本。要使用PowerShell,您可能必须通过WMI来完成(即@frikozoid的非常好的答案)。不幸的是,无法通过WMI获取温度读数。MSDN文档中说 “无法读取CurrentReading属性的实时读数 从SMBIOS表中提取。因此,当前的实现 WMI的不填充CurrentReading属性。CurrentReading属性 财产的存在保留供将来使用。” :-( 原因是,每个主板制造商都有不同的返回温度值的方法,这需要主板特定的dll,等等 我发现的最简单的监控主板温度的工具是。它支持几乎所有的主板,而且非常容易使用 至于温度,您通常希望您的芯片组保持在60摄氏度以下。CPU温度可能会高达70摄氏度,GPU温度也可能会高达70摄氏度。一般来说,如果您能将所有温度保持在60摄氏度以下,系统将可以长时间运行。我知道,在我的系统上,如果我的GPU温度高于70摄氏度,系统会开始变得不正常,通常系统会崩溃 ---编辑---
看起来您可以通过SpeedFan完成部分工作。SpeedFan有一种配置事件的方法(请参阅:),这样您可以将其设置为在温度达到某个特定值时执行脚本。您可以使用此命令获取主板上所有传感器的当前温度
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日)
对于正在使用命令行并可以使用
wmic /namespace:\\root\cimv2 PATH Win32_PerfFormattedData_Counters_ThermalZoneInformation get Temperature
所有温度均以开尔文为单位。您可以轻松地将其转换为摄氏度或华氏度。您可以使用此命令获取主板上所有传感器的当前温度
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日)
对于正在使用命令行并可以使用
wmic /namespace:\\root\cimv2 PATH Win32_PerfFormattedData_Counters_ThermalZoneInformation get Temperature
所有温度都以开尔文为单位,您可以轻松地将其转换为°C或°F也可以在侧注上-有人知道hm77芯片组可以达到并保持在没有任何物理损坏的大致温度吗?还有一个侧注-有人知道hm77芯片组可以达到并保持在没有任何物理损坏的大致温度吗?我不这么认为这可以通过WMI实现。MSDN文档说明“无法从SMBIOS表中提取CurrentReading属性的实时读数。因此,WMI的当前实现不填充CurrentReading属性。CurrentReading属性的存在保留供将来使用。”:-(@HAL9256你说得对,我在网站上发布的第一句话是:)。糟糕。好吧,让我们等待未来的发布。是的,我也读到了,就像是“温度预测,甜心!”…哦,等等…“未来发布”…啊,哦,胡说八道。除此之外,你发布了一个很棒的答案,有很好的文档记录,参考