Vista中的WMI是否缺少Win32_PerfFormattedData_PerfDisk_PhysicalDisk?

时间:2010-03-30 05:22:30

标签: wmi windows-vista

根据我的理解,以下脚本的输出应包括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 个答案:

答案 0 :(得分:0)

在Vista上应该没问题。文档here在页面底部显示:

  

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

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

要尝试的另一件事是看看你是否可以从相应的RawData类获取统计数据? Vista似乎改变了原始数据转换为熟食数据的方式。我对此的了解相当薄(基于粗略的谷歌搜索),因为我只参与了XP / Svr2k3 / Svr2k8上的WMI - 我认为没有人真的使用 Vista: - )


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

  

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

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