我有一个非常简单的 WMI 测试脚本,我在服务器上本地运行它来诊断我在获取 WMI 一些数据时遇到的问题。
本质上,我在这台机器上(本地)运行的所有WMI 查询都失败并显示错误代码0x80041017
。
Option Explicit
Dim WmiQuery
WmiQuery = "SELECT * FROM Win32_Processor"
Dim objSWbemLocator
Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator")
Dim objWMIService
Set objWMIService = objSWbemLocator.ConnectServer("localhost", "root\cimv2")
Dim results
Set results = objWMIService.ExecQuery (WmiQuery)
Dim row
For Each row in results
Next
我什至还没有尝试查看任何属性,但它在第 16 行失败,这是该For Each row in results
行。
这是在控制台中运行它的输出:
c:\test>cscript test.vbs
Microsoft (R) Windows Script Host Version 5.8
Copyright (C) Microsoft Corporation. All rights reserved.
c:\test\test.vbs(16, 1) (null): 0x80041017
通过 wbemtest 运行该查询会给出描述“无效查询”,即使相同的查询在其他服务器上运行。是什么东西没有在 WMI 中注册还是什么东西?