构造 InParameters 对象

InParameters 对象包含使用 ExecMethod 类型的调用时调用提供程序方法的参数列表。 SWbemObject.ExecMethod_SWbemObject.ExecMethodAsync_SWbemServices.ExecMethodSWbemServices.ExecMethodAsync 方法都需要 InParameters 对象。

以下过程介绍如何构造 InParameters 对象。

构造 objwbemInParams 对象

  1. 连接到 WMI。

  2. 获取 WMI 类的定义,它定义你要执行的方法。

  3. 获取特定于要执行的 WMI 类方法的 InParameters 对象。

    Set objInParam = objShare.Methods_("Create"). _
        inParameters.SpawnInstance_()
    
  4. 将实例的属性设置为任何适当值。 请务必为包含要执行的方法的 WMI 类中的键属性提供值。

    例如,如果要在名为“INST”的 InParameters 实例中将名为 myinputparam 的输入参数设置为值“abc”,代码如下所示。

    INST.Properties_.Add ("myinputparam").Value = "abc".
    
  5. 执行方法并获取正在执行的方法的返回状态。

以下代码示例演示如何设置 InParameters 对象来新建一个表示共享的 WMI 对象。 有关 OutParameters 对象的详细信息,请参阅分析 OutParameters 对象。 如果在“C:/Share”位置有一个名为“Share”的文件夹,那么此示例将返回一个成功的返回值 (0)。 通过此示例,可以与其他用户共享此文件夹。

' Connect to WMI.
Set objServices = GetObject("winmgmts:root\cimv2")

' Obtain the definition of the WMI class that defines
' the method you want to execute.
Set objShare = objServices.Get("Win32_Share")

' Obtain an InParameters object specific
' to the WMI class method you want to execute.
Set objInParam = objShare.Methods_("Create"). _
    inParameters.SpawnInstance_()

' Set the properties of the instance to whatever
' values are appropriate.
objInParam.Properties_.Item("Access") = objSecDescriptor
objInParam.Properties_.Item("Description") = _
    "New share created by WMI script"
objInParam.Properties_.Item("Name") = "share"
objInParam.Properties_.Item("Path") = "C:\share"
objInParam.Properties_.Item("Type") = 0
'optional - default is 'max allowed'
objInParam.Properties_.Item("MaximumAllowed") = 100
'optional - default is no password
objInParam.Properties_.Item("Password") = "Password"

' Execute the method and obtain the return status. 
' The OutParameters object in objOutParams
' is created by the provider. 
Set objOutParams = objShare.ExecMethod_("Create", objInParam)    
wscript.echo objOutParams.ReturnValue