Создание объектов InParameters

Объект InParameters содержит список параметров для вызова методов поставщика при использовании типа вызова ExecMethod . Для методов SWbemObject.ExecMethod_, SWbemObject.ExecMethodAsync_, SWbemServices.ExecMethod и SWbemServices.ExecMethodAsync требуется объект InParameters .

В следующей процедуре описывается создание объекта InParameters .

Создание параметра objwbemInParams

  1. Подключитесь к WMI.

  2. Получите определение класса WMI, определяющего метод, который требуется выполнить.

  3. Получите объект InParameters , относяющийся к методу класса WMI, который требуется выполнить.

    Set objInParam = objShare.Methods_("Create"). _
        inParameters.SpawnInstance_()
    
  4. Задайте для свойств экземпляра любые подходящие значения. Обязательно присвойте значения свойствам ключей в классе WMI, который содержит метод, который требуется выполнить.

    Например, если вы хотите задать для входного параметра myinputparam значение "abc" в экземпляре InParameters с именем "INST", код будет выглядеть следующим образом.

    INST.Properties_.Add ("myinputparam").Value = "abc".
    
  5. Выполните метод и получите состояние возврата выполняемого метода.

В следующем примере кода показана настройка объекта InParameters для создания нового объекта WMI, представляющего общую папку. Дополнительные сведения об объекте OutParameters см. в разделе Анализ объектов OutParameters. В этом примере возвращается успешное возвращаемое значение (0), если в расположении "C:/Share" есть папка с именем "Общий доступ". Этот пример позволяет предоставить доступ к этой папке другим пользователям.

' 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