如何列出所有具有使用 VBScript 的方法的 WMI 类? [英] How to list all WMI classes having methods using VBScript?
问题描述
使用 VBScript,如何列出所有具有方法的 WMI 类?
Using VBScript, how can I list all WMI classes that have methods?
推荐答案
运行 SELECT 模式查询 以获取命名空间中所有类的列表,然后检查每个类的Methods_.Count
:
Run a SELECT schema query to get a list of all classes in a namespace, and then check each class's Methods_.Count
:
strComputer = "."
strNamespace = "root\cimv2"
Set oWMI = GetObject("winmgmts:\\" & strComputer & "\" & strNamespace)
Set colClasses = oWMI.ExecQuery("SELECT * FROM meta_class")
For Each oClass in colClasses
If oClass.Methods_.Count > 0 Then
WScript.Echo oClass.Path_.Class
End If
Next
您可能希望将结果限制为动态和 static 类,就像 WMI Code Creator 那样.为此,请为相应的类限定符添加额外的检查.
You may want to limit the results to dynamic and static classes only, like WMI Code Creator does. To do this, add an additional check for the corresponding class qualifiers.
...
For Each oClass in colClasses
For Each oQualifier In oClass.Qualifiers_
strQualName = LCase(oQualifier.Name)
If strQualName = "dynamic" OR strQualName = "static" Then
If oClass.Methods_.Count > 0 Then
WScript.Echo oClass.Path_.Class
End If
End If
Next
Next
我还建议您阅读 WMI 脚本入门:第 2 部分 文章.它通过示例详细解释了 WMI 概念和基础结构,并且可能已经为您将来的问题提供了答案.:)
I also suggest that you read the WMI Scripting Primer: Part 2 article. It explains the WMI concepts and infrastructure in detail and with examples, and may already hold answers to your future questions. :)
这篇关于如何列出所有具有使用 VBScript 的方法的 WMI 类?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!