gpt4 book ai didi

wmi - 无法通过 GETOBJECT ("winmgmts:"获取 WMI 对象)

转载 作者:行者123 更新时间:2023-12-04 17:15:59 26 4
gpt4 key购买 nike

我很难过,似乎无法找到明确的答案。我正在尝试通过 WMI 获取网络适配器列表。我一直在使用的命令在我们办公室的几乎所有工作站上都​​运行良好,没有任何问题。昨天,问题。一台机器出故障。由于它直接在用户机器上运行,因此我不必明确放置他们的机器名称,因此只需使用“。”对于本地机器。然后,我不在乎“谁”,所以也没有假冒。用户应该能够查询自己的设备资源。我使用的是...

oWMIService = GETOBJECT("winmgmts:\\.\root\cimv2")
oItems = oWMIService.ExecQuery("Select * from Win32_NetworkAdapter",,48)

根据我的发现,有些地方说要删除机器路径引用的“\”。如果我这样做,我的机器就会出现故障,另一台有问题的机器仍然没有结果。所以,我什至尝试过进入服务的根目录,但也失败了。
oWMIService = GETOBJECT("winmgmts:\\.")

我得到的实际错误是......
Error Code: 0x800401ea: Moniker cannot open file.

我已经对这个名字错误做了一些搜索,但不知道如何解决。

最佳答案

有时 WMI 会损坏和混淆。您可以尝试的选项是:

使用这样的批处理脚本重新注册/重新编译 WMI 组件:

net stop winmgmt
cd /d %windir%\system32\wbem\
for %i in (*.dll) do RegSvr32 /s %i
for %i in (*.mof, *.mfl) do Mofcomp %i
net start winmgmt

如果这不能解决问题,请使用此批处理重置 WMI 数据库:
net stop winmgmt
cd /d %windir%\system32\wbem\
rmdir /s /q Repository
rmdir /s /q Logs
mkdir Logs
net start winmgmt

和/或尝试像 WMIDiag.vbs script 这样的工具看看它是否对你有建议。

关于wmi - 无法通过 GETOBJECT ("winmgmts:"获取 WMI 对象),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7078184/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com