Share via


Construction d’objets InParameters

Un objet InParameters contient la liste de paramètres pour appeler des méthodes de fournisseur lors de l’utilisation d’un type d’appel ExecMethod. Les méthodes SWbemObject.ExecMethod_, SWbemObject.ExecMethodAsync_, SWbemServices.ExecMethod et SWbemServices.ExecMethodAsync nécessitent toutes un objet InParameters .

La procédure suivante décrit comment construire un objet InParameters .

Pour construire le paramètre objwbemInParams

  1. Connectez-vous à WMI.

  2. Obtenez la définition de la classe WMI qui définit la méthode que vous souhaitez exécuter.

  3. Obtenez un objet InParameters spécifique à la méthode de classe WMI que vous souhaitez exécuter.

    Set objInParam = objShare.Methods_("Create"). _
        inParameters.SpawnInstance_()
    
  4. Définissez les propriétés de l'instance avec les valeurs appropriées. Veillez à donner des valeurs aux propriétés de clé dans la classe WMI qui contient la méthode que vous souhaitez exécuter.

    Par exemple, si vous souhaitez définir un paramètre d’entrée nommé myinputparam sur la valeur « abc » dans une instance d’InParameters appelé « INST », le code ressemble à ceci.

    INST.Properties_.Add ("myinputparam").Value = "abc".
    
  5. Exécutez la méthode et obtenez le statut de retour de la méthode que vous exécutez.

L’exemple de code suivant illustre la configuration de l’objet InParameters pour créer un objet WMI qui représente un partage. Pour plus d’informations sur l’objet OutParameters, voir Analyse des objets OutParameters. Cet exemple retourne une valeur de retour réussie (0) s’il existe un dossier nommé « Share » à l’emplacement « C:/Share ». Cet exemple permet de partager ce dossier avec d’autres utilisateurs.

' 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