Erstellen von InParameters-Objekten
Ein InParameters-Objekt enthält die Parameterliste zum Aufrufen von Anbietermethoden bei Verwendung eines ExecMethod-Aufruftyps. Die Methoden _ SWbemObject.ExecMethod, SWbemObject.ExecMethodAsync, _ SWbemServices.ExecMethodund SWbemServices.ExecMethodAsync erfordern alle ein InParameters-Objekt.
Im folgenden Verfahren wird beschrieben, wie ein InParameters-Objekt erstellt wird.
So erstellen Sie den objwbemInParams-Parameter
Verbinden zu WMI.
Rufen Sie die Definition der WMI-Klasse ab, die die Auszuführende Methode definiert.
Rufen Sie ein InParameters-Objekt ab, das für die WMI-Klassenmethode spezifisch ist, die Sie ausführen möchten.
Set objInParam = objShare.Methods_("Create"). _ inParameters.SpawnInstance_()Legen Sie die Eigenschaften der Instanz auf die geeigneten Werte fest. Achten Sie darauf, den Schlüsseleigenschaften in der WMI-Klasse, die die auszuführende Methode enthält, Werte zuzuweisen.
Wenn Sie beispielsweise einen Eingabeparameter mit dem Namen myinputparam auf den Wert "abc" in einer Instanz von InParameters mit dem Namen "INST" festlegen möchten, würde der Code wie folgt aussehen.
INST.Properties_.Add ("myinputparam").Value = "abc".Führen Sie die -Methode aus, und rufen Sie den Rückgabestatus der ausgeführten Methode ab.
Das folgende Codebeispiel veranschaulicht das Einrichten des InParameters-Objekts, um ein neues WMI-Objekt zu erstellen, das eine Freigabe darstellt. Weitere Informationen zum OutParameters-Objekt finden Sie unter Analysieren von OutParameters-Objekten. In diesem Beispiel wird ein erfolgreicher Rückgabewert (0) zurückgegeben, wenn sich ein Ordner mit dem Namen "Share" am Speicherort "C:/Share" befindet. In diesem Beispiel kann dieser Ordner für andere Benutzer freigegeben werden.
' 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