我正在尝试在Win2k SP4上运行以下VBScript代码:
strComputer = "."
Set oWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")它可以在XP和Win7上运行,没有问题,但在这个2k机器上,我得到了以下错误:
C:\test_wmi.vbs(3, 1) (null): 0x8004100E错误描述是:找不到指定的命名空间。
当我使用以下代码查询root上的名称空间时:
strComputer = "."
Set objSWbemServices = GetObject("winmgmts:\\" & strComputer & "\root")
Set colNameSpaces = objSwbemServices.InstancesOf("__NAMESPACE")
For Each objNameSpace In colNameSpaces
Wscript.Echo objNameSpace.Name
Next我明白了:
DEFAULT
SECURITY
WMI
directory
aspnet据我所知,CIMV2名称空间应该在那里。有什么想法吗?
谢谢!
约尔奇。
发布于 2010-09-10 21:37:54
最后,对我起作用的是重建WMI存储库。这是我所做的:
此外,此方法可能会有所帮助(将WMI重新安装到注册表中):
winmgmt /clearadap
winmgmt /kill
winmgmt /unregserver
winmgmt /regserver
winmgmt /resyncperf感谢Uros的帮助,网络广播和工具都非常有用。
发布于 2013-07-08 22:45:40
我使用的是Windows Server2003,Service Pack 2,而yorch的解决方案对我不起作用。最后我找到了这个页面,并按照Server2003的说明进行了操作:
Windows Server2003的
使用以下命令检测并修复损坏的Windows:
rundll32 wbemupgd, RepairWMISetup
发布于 2010-09-10 01:42:51
是的,它应该在那里。有一个名为wmidiag.vbs的工具可以帮助你诊断WMI问题,但在使用它之前,请尝试观看几个解释如何使用它的“网络广播”(here和here)。
https://stackoverflow.com/questions/3678390
复制相似问题