Windows 10下VBScript执行失败报错0x80041002求助
解决VBScript调用WMI StdRegProv失败(错误0x80041002)的思路
错误码0x80041002对应WMI的WBEM_E_NOT_FOUND,结合你已验证WMI服务正常、存储库一致性的情况,以下是针对性解决思路:
检查
root\default命名空间权限该问题大概率是Windows更新或安全策略修改了WMI命名空间的访问权限
操作步骤:- 以管理员身份打开
wmimgmt.msc - 右键WMI控制(本地) → 属性
- 切换到安全选项卡,展开
Root→default节点 - 确认执行脚本的用户(含管理员组)拥有启用账户和远程启用权限,缺失则添加并授权
- 重启WMI服务:执行命令
net stop winmgmt && net start winmgmt
- 以管理员身份打开
重新注册核心WMI组件
即使存储库验证正常,部分组件可能因更新注册失效,管理员CMD下执行:winmgmt /salvagerepository regsvr32.exe %systemroot%\system32\wbem\wmiutils.dll regsvr32.exe %systemroot%\system32\wbem\wbemdisp.dll完成后重启WMI服务。
排查安全软件拦截
近期安全更新或第三方杀毒软件可能拦截了VBScript对WMI的调用:- 临时关闭Windows Defender实时保护,测试脚本运行状态
- 查看第三方安全软件日志,确认是否有WMI访问拦截记录,将脚本所在路径加入信任列表
修改WMI连接字符串写法
原代码中strComputer = ""的写法可能因系统解析异常导致问题,替换为明确的本地连接格式:Const HKEY_CLASSES_ROOT = &H80000000 'On Error Resume Next Set objReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")回滚可疑Windows更新
查看设备近期安装的更新列表,重点排查与WMI、系统管理相关的更新,卸载后测试脚本是否恢复正常。
内容的提问来源于stack exchange,提问作者Epligam
相关产品推荐
相关产品推荐

