Udostępnij przez


Konstruowanie obiektów InParameters

Obiekt InParameters zawiera listę parametrów do wywoływania metod dostawcy podczas używania ExecMethod typu wywołania. Metody SWbemObject.ExecMethod_, SWbemObject.ExecMethodAsync_, SWbemServices.ExecMethodi SWbemServices.ExecMethodAsync metody wymagają obiektu InParameters.

Poniższa procedura opisuje sposób konstruowania obiektu InParameters.

Aby skonstruować parametr objwbemInParams

  1. Połącz z WMI.

  2. Uzyskaj definicję klasy WMI, która definiuje metodę, którą chcesz wykonać.

  3. Uzyskaj obiekt InParameters specyficzny dla metody klasy WMI, którą chcesz wykonać.

    Set objInParam = objShare.Methods_("Create"). _
        inParameters.SpawnInstance_()
    
  4. Ustaw właściwości wystąpienia na dowolne wartości, które są odpowiednie. Pamiętaj, aby nadać wartości właściwościom klucza w klasie WMI zawierającej metodę, którą chcesz wykonać.

    Jeśli na przykład chcesz ustawić parametr wejściowy o nazwie myinputparam na wartość "abc" w wystąpieniu InParameters o nazwie "INST", kod będzie wyglądać następująco.

    INST.Properties_.Add ("myinputparam").Value = "abc".
    
  5. Wykonaj metodę i uzyskaj status zwrotny metody, którą wykonujesz.

Poniższy przykład kodu ilustruje konfigurowanie obiektu InParameters w celu utworzenia nowego obiektu WMI reprezentującego udział. Aby uzyskać więcej informacji na temat obiektu OutParameters, zobacz Analizowanie Obiektów OutParameters. Ten przykład zwraca pomyślną wartość zwracaną (0), jeśli istnieje folder o nazwie "Udostępnij" w lokalizacji "C:/Share". Ten przykład umożliwia udostępnianie tego folderu innym użytkownikom.

' 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