首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >WMI脚本失败,错误为0x80041017

WMI脚本失败,错误为0x80041017
EN

Stack Overflow用户
提问于 2013-07-24 15:05:16
回答 1查看 12.8K关注 0票数 0

我有一个非常简单的WMI测试-脚本,我正在本地运行在服务器上,以诊断一个问题,我有WMI一些数据。

本质上,我在这台机器上运行的所有WMI查询(本地)都失败了,错误代码是0x80041017

代码语言:javascript
运行
复制
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行)上失败了。

下面是在控制台中运行它的输出:

代码语言:javascript
运行
复制
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中没有注册的东西还是其他东西?

EN

回答 1

Stack Overflow用户

发布于 2013-10-15 16:52:13

我认为这可能与你如何获得你的WMI对象有关。

这个怎么样:

代码语言:javascript
运行
复制
Option Explicit

Dim wmi,col,itm

Set wmi = GetObject("winmgmts:\\.\root\cimv2")
Set col = wmi.ExecQuery("Select * from Win32_Processor")

For Each itm in col
  WScript.Echo itm.Name
Next
Set wmi = Nothing
Set col = Nothing
WScript.Quit

好像对我有用..。别以为你需要所有的WBemLocator废话..。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17837915

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档