Dela via


Konstruera InParameters-objekt

Ett InParameters-objekt innehåller parameterlistan för att anropa providermetoder när du använder en ExecMethod typ av anrop. Metoderna SWbemObject.ExecMethod_, SWbemObject.ExecMethodAsync_, SWbemServices.ExecMethodoch SWbemServices.ExecMethodAsync kräver alla ett InParameters-objekt.

Följande procedur beskriver hur du konstruerar ett InParameters-objekt.

Om du vill skapa parametern objwbemInParams

  1. Anslut till WMI.

  2. Hämta definitionen av WMI-klassen som definierar den metod som du vill köra.

  3. Hämta ett InParameters objekt som är specifikt för den WMI-klassmetod som du vill köra.

    Set objInParam = objShare.Methods_("Create"). _
        inParameters.SpawnInstance_()
    
  4. Ange egenskaperna för instansen till de värden som är lämpliga. Se till att ge värden till nyckelegenskaperna i WMI-klassen som innehåller den metod som du vill köra.

    Om du till exempel vill ange en indataparameter med namnet myinputparam till värdet "abc" i en instans av InParameters med namnet "INST" ser koden ut så här.

    INST.Properties_.Add ("myinputparam").Value = "abc".
    
  5. Kör metoden och hämta returstatusen för den metod som du kör.

I följande kodexempel visas hur man konfigurerar InParameters objektet för att skapa ett nytt WMI-objekt som representerar en delning. Mer information om objektet OutParameters finns i Parsing OutParameters Objects. Det här exemplet returnerar ett lyckat returvärde (0) om det finns en mapp med namnet "Dela" på platsen "C:/Share". Det här exemplet gör att den här mappen kan delas med andra användare.

' 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