操作类和实例信息

WMI 提供了各种方法来检索和操作 WMI 类和实例信息,使用 Microsoft PowerShell Visual Basic Scripting Edition (VBScript) 和 C++。

下表列出了讨论检索和操作 WMI 类和实例信息的方法的主题。

主题 说明
检索 WMI 类或实例数据 从 WMI 信息存储库检索和设置数据。
修改实例属性 检索实例后更改该实例中的信息。
更改实例的继承 更改实例的父类。
修改方法 修改实例的参数。
枚举 WMI 枚举 WMI 对象。
查询 WMI 查询 WMI 对象。
调用方法 使用 Microsoft 或其他第三方开发人员创建的关联方法进一步操作 WMI 对象,或者直接影响 WMI 对象所表示的对象。
访问集合 枚举脚本中的集合。

 

使用 VBScript 操作数据

可以使用直接访问直接访问 SWbemObject 上的 WMI 类或实例的 WMI 属性,而不是通过该对象的属性 集合 。 还可以使用编程语言的本机样式对该对象执行方法,而不是使用 SWbemServices.ExecMethod 调用。 例如,Win32_Process中的 Create 方法在 Windows 2000 中具有三个参数,但在 Windows Server 2003 中具有四个参数。

使用直接访问,可以将 WMI 属性和方法视为 SWbemObject 的自动化属性和方法。

以下示例演示如何访问属性。

VolumeName = MyDisk.Properties_("VolumeName")

以下示例演示如何在直接访问时访问属性。

VolumeName = MyDisk.VolumeName

对象链也是可接受的。

以下示例演示如何访问嵌入在另一个对象中的对象的属性。

value = MyComputer.MyDisk.VolumeName

以下示例演示如何使用数组下标表示法访问属性。

valueOfElement = MyDisk.MyArrayProperty(3)

以下 VBScript 代码示例演示如何将输入参数的实例生成到 Win32_Process 类中的 Create 方法作为 SWbemObject,填充输入属性,然后使用 SWbemServices.ExecMethod 执行 Create 方法。

SWbemObject.Methods_属性返回Win32_Process方法的 SWbemMethodSet 集合。 方法集的成员是 SWbemMethod 对象, SWbemMethod.InParameters 返回 Create 方法的输入参数。 所需的 CommandLine 输入参数设置为“calc.exe”。 然后 ,该方法由 SWbemServices.ExecMethod 执行,从而启动calc.exe进程。

set Services = GetObject("winmgmts:root\cimv2")
Set obj = Services.Get("Win32_Process")
Set objIns = obj.Methods_("Create").InParameters.SpawnInstance_
objIns.CommandLine = "calc.exe"
Set objOut = Services.ExecMethod("Win32_Process", "Create", objIns)
MsgBox "Return value = " & objOut.returnvalue & VBCRLF & "Process ID = " & objOut.processid

下面的代码示例演示如何使用直接访问执行上一操作。

set Services = GetObject("winmgmts:root\cimv2")
Set Obj = Services.Get("Win32_Process")
returnvalue = Obj.create("calc.exe",,,processid)
MsgBox "Return value = " & returnvalue & VBCRLF & "Process ID = " & processid

有关详细信息,请参阅使用 SWbemObject调用提供程序方法和脚本。