Open Hardware Monitor无法通过WMI返回传感器实例问题求助
解决Open Hardware Monitor WMI传感器实例枚举失败的问题
我之前也碰到过类似的情况,结合你的环境(Win10 Pro 1903 + OHM 0.8.0 beta),咱们一步步来排查解决:
先从基础配置和权限入手
必须以管理员身份运行Open Hardware Monitor
OHM需要系统权限才能访问硬件传感器并向WMI暴露数据。右键OHM快捷方式,选「以管理员身份运行」,之后再去WMI Explorer或PowerShell里查询Sensor实例试试。确认OHM的WMI功能已启用
打开OHM的「Options」设置面板,找到「Enable WMI」选项,确保它是勾选状态。改完设置后重启OHM,让配置生效。
修复WMI提供者注册问题
如果上面两步没用,大概率是OHM的WMI组件没正确注册:
- 先完全关闭OHM(包括后台进程)
- 找到OHM的安装目录,默认路径一般是
C:\Program Files\Open Hardware Monitor - 打开管理员命令提示符,运行以下命令注册WMI组件(替换成你的实际路径):
regsvr32 "C:\Program Files\Open Hardware Monitor\OpenHardwareMonitor.Wmi.dll" - 看到注册成功的弹窗后,重新启动OHM。
检查WMI命名空间权限
有时候用户权限不足也会导致枚举失败:
- 打开WMI Explorer,右键点击
root/OpenHardwareMonitor命名空间,选择「Properties」 - 切换到「Security」标签页,找到当前登录用户,确保它拥有「Enable Account」和「Remote Enable」的权限
- 如果没有,点击「Edit」添加当前用户并赋予这两个权限,之后重启「Windows Management Instrumentation」服务(在服务列表里找到它右键重启)
版本兼容性尝试
你用的OHM是0.8.0 beta版本,Win10 1903相对较旧,可能存在兼容性问题:
- 试试降级到OHM的稳定版(比如0.7.1),或者去官网看看有没有针对Win10 1903的修复版本,替换后再测试WMI查询。
替代方案:绕开WMI直接用OHM的API
如果WMI这条路实在走不通,可以直接调用OHM的.NET API来获取数据,Python里用pythonnet就能实现:
- 先安装依赖:
pip install pythonnet - 运行以下代码(替换成你的OHM安装路径):
import clr # 加载OHM的核心库 clr.AddReference(r'C:\Program Files\Open Hardware Monitor\OpenHardwareMonitorLib') from OpenHardwareMonitor.Hardware import Computer # 初始化硬件监测对象,按需启用需要监测的硬件 computer = Computer() computer.CPUEnabled = True computer.GPUEnabled = True computer.MainboardEnabled = True computer.RAMEnabled = True computer.HDDEnabled = True computer.Open() # 遍历所有硬件和传感器 for hardware in computer.Hardware: hardware.Update() for sensor in hardware.Sensors: if sensor.SensorType == sensor.SensorType.Temperature: print(f"{sensor.Name}: {sensor.Value}°C") computer.Close()
内容的提问来源于stack exchange,提问作者doghousedean
相关产品推荐
相关产品推荐

