Windows 在相同计算机上查询WMI时出现错误80041017。(Win32_性能格式化数据_性能_内存)
为什么会出现错误: 代码:80041017Windows 在相同计算机上查询WMI时出现错误80041017。(Win32_性能格式化数据_性能_内存),windows,vbscript,wmi,windows-7-x64,wmi-query,Windows,Vbscript,Wmi,Windows 7 X64,Wmi Query,为什么会出现错误: 代码:80041017 来源:(空) 在这一行: For Each oItem In colItems 在此VBScript中: strComputer = "." Set oWMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" _ & strComputer & "\root\cimv2") Set cItems = oWMI.ExecQuery("Select
来源:(空) 在这一行:
For Each oItem In colItems
在此VBScript中:
strComputer = "."
Set oWMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" _
& strComputer & "\root\cimv2")
Set cItems = oWMI.ExecQuery("Select * from Win32_PerfFormattedData_PerfOS_Memory")
'wsh.echo cItems.Count
Display "Win32_PerfFormattedData_PerfOS_Memory", FillCol(cItems)
function FillCol(colItems)
Dim oItem, oProp, s
For Each oItem In colItems
For Each oProp In oItem.Properties_
s = s & oProp.Name & vbcrlf
's = s & oProp.Name & vbtab & oProp.Value & vbcrlf
Next 'oProp
Exit For
Next 'oItem
FillCol = s
End Function 'FillCol
Sub Display(sTitle, s)
'Display results in a scrollable window
height = 600 : width = 800
Set oIE = CreateObject("InternetExplorer.Application")
With oIE
.RegisterAsDropTarget = False
.Toolbar = False : menubar = False : statusbar = False
.Width = Width : .Height = Height
.Navigate "about:blank"
Do Until .ReadyState = 4 : WScript.Sleep 50 : Loop
With .Document
.Open
.Write "<xmp>" & s & "</xmp>"
.Close
.Title = sTitle
End With
.Visible = True
End With 'oIE
End Sub
致:
两台64位工作站中只有一台具有相同的操作系统(Windows7,均具有当前更新)和相同的硬件规格。这些计算机几乎完全相同,只有一台产生错误
我已尝试修复损坏的WMI数据库:
但当我使用:
Win32_PrinterConfiguration
而不是:
Win32_PerfFormattedData_PerfOS_Memory
我没有错
发生了什么事?我需要做什么才能让脚本在导致错误的工作站上工作
EDIT1:我很确定这个错误实际上是由空返回值引起的。如果是这样,为什么RAM有空值?应该是这样的。对吧?
编辑2:请对要尝试或猜测的事情发表评论
EDIT3:WMI诊断工具()说明:
2894414:15:48(1)!!错误:报告WMI获取操作错误:。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。118个错误!
28945 14:15:48(0)**-根/CIMV2,Win32_performattedData_Counters_HTTPServiceRequestQueues,0x0-。
28946 14:15:48(0)**MOF注册:“WMI信息不可用(外部应用程序或第三方WMI提供程序可能会出现这种情况)”
28947 14:15:48(0)**-根/CIMV2,Win32_PerfRawData_Counters_HTTPServiceRequestQueues,0x0-。
28948 14:15:48(0)**MOF注册:“WMI信息不可用(外部应用程序或第三方WMI提供程序可能会出现这种情况)”
28949 14:15:48(0)**-根/CIMV2,Win32_performattedData_Counters_HTTPServiceUrlGroups,0x0-。
28950 14:15:48(0)**MOF注册:“WMI信息不可用(外部应用程序或第三方WMI提供程序可能会出现这种情况)”
28951 14:15:48(0)**-根/CIMV2,Win32_PerfRawData_Counters_HTTPServiceUrlGroups,0x0-。
28952 14:15:48(0)**MOF注册:“WMI信息不可用(外部应用程序或第三方WMI提供商可能会出现这种情况)
……等等
29069 14:15:48(0)**-Root/CIMV2,Win32\u performatteddata\u PerfOS\u内存,0x0-。
29070 14:15:48(0)**MOF注册:“WMI信息不可用(外部应用程序或第三方WMI提供商可能会出现这种情况)
……等等
不过,我还不知道该怎么办
EDIT4:查看此修复程序:
嗨
请尝试以下故障排除建议以检查
结果:
Regsvr32%SystemRoot%\System32\wbem\wmidcprv.dll
cd/d%windir%\system32\wbem
对于(*.dll)中的%i,执行RegSvr32-s%i
对于(*.exe)中的%i,执行%i/RegServer
可能会出现Windows Management Instrumentation Tester窗口,如下所示:
是正常的,我们可以继续关闭它
如果不起作用,我还建议您运行以下命令
修复WMI命名空间:
净停止winmgmt
wmic/NAMESPACE:\root路径“\uuu NAMESPACE.name='wmi'”删除
mofcomp%windir%\system32\wbem\wmi.mof
净启动winmgmt
之后,请重新启动计算机以检查结果。如果
问题仍然存在,请尝试以下步骤:
重新加载性能计数器:
cd %windir%\system32\
lodctr /R
cd %windir%\sysWOW64\
lodctr /R
可在此处找到:
注意,上面的解决方案是我最后一次“解决”这个问题;然而,我首先从这个链接做了很多事情:
不确定是我所做的事情的组合解决了它,还是我把4个命令作为我的答案解决了它。我只知道它现在正在工作 欢迎来到WMI的不一致世界。听起来你对它有经验。你过去是怎么解决的?老实说,我从来没有找到一个解决方案,最后不得不重建有问题的PC,即使这样也不能保证它会工作。如果WMI决定它不喜欢硬件的某些方面,那么您就没有什么可以做的了。
Win32_PerfFormattedData_PerfOS_Memory
cd %windir%\system32\
lodctr /R
cd %windir%\sysWOW64\
lodctr /R