Vista 中的 WMI 是不是缺少 Win32_PerfFormattedData_PerfDisk_PhysicalDisk?

Posted

技术标签:

【中文标题】Vista 中的 WMI 是不是缺少 Win32_PerfFormattedData_PerfDisk_PhysicalDisk?【英文标题】:Is Win32_PerfFormattedData_PerfDisk_PhysicalDisk missing from WMI in Vista?Vista 中的 WMI 是否缺少 Win32_PerfFormattedData_PerfDisk_PhysicalDisk? 【发布时间】:2010-03-30 05:22:29 【问题描述】:

据我了解,以下脚本的输出在 Windows XP 及更高版本中应包括“Win32_PerfRawData_PerfDisk_PhysicalDisk”,但在 Vista Business 32 位 Service Pack 2 中不适合我。到目前为止,我的谷歌搜索非常不成功有关此性能等级的信息。

strComputer = "."
Set objWMIService=GetObject("winmgmts:impersonationLevel=impersonate!\\" & _ 
strComputer & "\root\cimv2")

For Each objclass in objWMIService.SubclassesOf()
    Wscript.Echo objClass.Path_.Class
Next

这个 WMI 类在 Vista 中根本不存在吗?如果只有我,有没有办法修复 WMI?我已经尝试过运行 winmgmt /resetrepository 和 winmgmt /resyncperf 都没有帮助。

编辑:排序和编辑的输出

截图...

Win32_PerfFormattedData_NETFramework_NETCLRSecurity Win32_PerfFormattedData_Outlook_Outlook Win32_PerfFormattedData_PerfNet_Browser Win32_PerfFormattedData_PerfNet_Redirector

截图...

Win32_PerfFormattedData_PerfDisk_* 丢失。

还尝试了 lodctr /R。没有帮助。

已解决

可以在注册表中禁用这些计数器。只需将 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Perfdisk\Performance\Disable Performance Counters 设置为 0 并重新启动。

http://blogs.technet.com/askperf/archive/2010/03/05/two-minute-drill-disabled-performance-counters-and-exctrlst-exe.aspx

【问题讨论】:

【参考方案1】:

在 Vista 上应该没问题。页面底部的文档here 状态:

DLL:Windows Server 2003 和 Windows XP 上的 Wmicookr.dll,Windows Server 2008 和 Windows Vista 上的 WmiPerfInst.dll。

您能检查一下您的盒子上是否存在WmiPerfInst.dll DLL 吗?

要尝试的另一件事是查看是否可以从相应的 RawData 类中获取统计信息? Vista 似乎改变了将原始数据转换为熟数据的方式。我对此的了解非常少(基于非常粗略的 Google 搜索),因为我只参与 XP/Svr2k3/Svr2k8 上的 WMI - 我认为实际上没有人使用 Vista :- )


而且,如果你要接受我的回答,即使它没有帮助,至少让我抄袭你的解决方案:-)

可以在注册表中禁用这些计数器。只需将 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Perfdisk\Performance\Disable Performance Counters 设置为 0 并重新启动。

但是说真的,谢谢。在某些时候,我们可能必须自己支持后 Vista,这样它会帮助我们了解这一点。

【讨论】:

WMICOOKR.dll(74,752 字节)和 WmiPerfInst.dll(47,104 字节)都存在并占了比例。 那么你已经超出了我的技能水平,@Martin,对不起,我无法提供进一步的帮助。希望在 WMI/Vista 方面有更多经验的人很快就会慢慢来。祝你好运。

以上是关于Vista 中的 WMI 是不是缺少 Win32_PerfFormattedData_PerfDisk_PhysicalDisk?的主要内容,如果未能解决你的问题,请参考以下文章

wmi使用的win32类库名

WMI - 直接访问 Win32_OperatingSystem 的单例实例

WMI使用的WIN32_类库名

Win32_Printer 远程 WMI 查询真的很慢

WMI Win32_OperatingSystem OSArchitecture 字段导致异常

WMI Win32_BaseBoard 序列号