【问题标题】:Retrieve Intel PCH temperature with Powershell使用 Powershell 检索 Intel PCH 温度
【发布时间】:2018-01-14 03:08:41
【问题描述】:

我正在尝试使用 powershell 检索英特尔 PCH 温度。我找不到使用 wmi 检索此温度的任何方法。我机器上的芯片组是HM77。我试过阅读英特尔网站上提供的数据表,但没有成功。有谁知道怎么做?

谢谢。

注意:我可以通过 HWINFO 应用程序读取这个 intel PCH 温度传感器,所以它可以通过某种方式完成。

【问题讨论】:

  • 另外附注 - 有谁知道 hm77 芯片组可以达到并保持在没有任何物理损坏的粗略温度?

标签: powershell wmi intel sensors pch


【解决方案1】:

您可以使用此命令获取主板上所有传感器的当前温度

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

【讨论】:

  • @DanielWiddis 我已经为命令行添加了命令。试试看!
【解决方案2】:

我想我明白了。在 powershell 命令行中,我输入了 wmic 并输入了“wmic:root\cli>”提示符。然后我输入temperature,它列出了所有传感器及其设备ID。在 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 温度,因为我的主板上有两个传感器,我不知道哪个是哪个,而且我没有时间阅读文档,但这应该可以帮助您入门。

【讨论】:

  • 我不认为这可以通过 WMI 实现。 MSDN 文档说“无法从 SMBIOS 表中提取 CurrentReading 属性的实时读数。因此,WMI 的当前实现不会填充 CurrentReading 属性。CurrentReading 属性的存在是为将来使用而保留的。” :-(
  • @HAL9256 你是对的,它在我发布的网站的第一句话中说:)。真可惜。好吧,让我们等待未来的发布。
  • 是的,我也读到了,就像“TemperatureProbe,Sweet!....哦等等...“未来版本”... aaawww 坚果。但除此之外,您还发布了一个很棒的答案,有据可查,引用了 MSDN,完整的脚本;这得到了我的支持!
  • 感谢您的回复!所以我已经看了一下win32类,找不到与实际主板温度传感器相关的任何东西。我做了更多的挖掘,似乎取决于制造商,有时传感器没有暴露(或不同地暴露)到 WMI。非常欢迎任何其他想法! (看起来在我写这个回复的时间里,有 3 个人先偷偷溜进来 :))
【解决方案3】:

要使用 PowerShell,您可能必须通过 WMI 来完成(即@frikozoid 的非常好的答案)。不幸的是,无法通过 WMI 获取温度读数。 MSDN 文档说

"CurrentReading 属性的实时读数不能 从 SMBIOS 表中提取。出于这个原因,当前的实现 的 WMI 不填充 CurrentReading 属性。当前阅读 财产的存在保留供将来使用。”

:-(

原因是每个主板制造商都有不同的返回温度值的方法,这需要主板特定的 dll 等......

我发现用于监控主板温度的最简单工具是SpeedFan。它支持几乎所有的主板,并且非常易于使用。

至于温度,您通常希望您的芯片组保持在 60 摄氏度以下。CPU 温度可以上升到 70 摄氏度,GPU 也一样。一般来说,如果你能把所有东西都保持在 60 摄氏度以下,那么事情会在很长一段时间内运行得很好。我知道在我的系统上,如果我的 GPU 温度超过 70C,事情就会变得很糟糕,而且通常系统会崩溃。

---编辑---

看起来您可以通过 SpeedFan 完成其中的一部分。 SpeedFan 有一种配置事件的方法(请参阅:Configure Events)因此您可以将其设置为在您的温度达到某个值时执行脚本。

【讨论】:

  • 感谢您的回复,我的目标是编写一个 powershell 脚本来控制我的时钟速度。由于主板(这是笔记本电脑)缺乏冷却,我的主板比我的 cpu 或 gpu(两者都最高只有 60-65)发热更多(上升到 95)。因此,我的笔记本电脑的限制因素是我的 PCH 温度,我希望编写一个脚本来直接监控它并因此修改我的时钟速度。 (我通过简单地更改电源设置状态来修改我的时钟速度)。任何使主板温度达到 PS 的方法的想法都会很棒。有没有办法从 SpeedFan 中恢复?
  • 不错的提示,但不幸的是 speedfan 无法监控我主板上的 pch 温度 :( 为将来记住这一点很好。如果您有任何其他想法,那将是非常棒的。
猜你喜欢
  • 1970-01-01
  • 2016-11-05
  • 1970-01-01
  • 2016-05-24
  • 1970-01-01
  • 2012-10-14
  • 2015-07-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多