Partager via


Comment appeler une méthode de classe d’objet Configuration Manager à l’aide de WMI

Pour appeler une méthode de classe fournisseur SMS, dans Configuration Manager, vous utilisez la méthode ExecMethod de l’objet SWbemServices pour appeler les méthodes définies par la classe .

Remarque

Pour appeler une méthode sur un objet instance, appelez directement la méthode à partir de l’objet . Par exemple : ObjectInstance.MethodName parameters.

Pour appeler une méthode de classe d’objet Configuration Manager

  1. Configurez une connexion au fournisseur SMS. Pour plus d’informations, consultez Notions de base du fournisseur SMS.

  2. À l’aide de SWbemServices que vous obtenez à l’étape 1, appelez Get pour obtenir la définition de classe.

  3. Créez les paramètres d’entrée en tant que SWbemMethodSet.

  4. À l’aide de l’objet SWbemServices instance, appelez ExecMethod et spécifiez le nom de classe et les paramètres d’entrée.

  5. Récupérez la valeur de retour de la méthode à partir de la propriété ReturnValue dans l’objet SWbemObject retourné.

Exemple

L’exemple suivant valide une requête de règle de collection en appelant la méthode de classe ValidateQuerySMS_CollectionRuleQuery.

Pour plus d’informations sur l’appel de l’exemple de code, consultez Appel d’extraits de code Configuration Manager.

Sub ValidateQueryRule(connection, wqlQuery)

    Dim inParams
    Dim outParams
    Dim collectionRuleClass

    On Error Resume Next

    ' Obtain the class definition object of a SMS_CollectionRuleQuery object.
    Set collectionRuleClass = connection.Get("SMS_CollectionRuleQuery")

    If Err.Number<>0 Then
        Wscript.Echo "Couldn't get collection rule query object"
        Exit Sub
    End If

    ' Set up the in parameter.
    Set inParams = collectionRuleClass.Methods_("ValidateQuery").InParameters.SpawnInstance_
    inParams.WQLQuery = wqlQuery
    If Err.Number<>0 Then
        Wscript.Echo "Couldn't get in parameters object"
        Exit Sub
    End If

    ' Call the method.
    Set outParams = _
        connection.ExecMethod( "SMS_CollectionRuleQuery", "ValidateQuery", inParams)
    If Err.Number<>0 Then
        Wscript.Echo "Couldn't run method"
        Exit Sub
    End If

    If outParams.ReturnValue = True Then
        Wscript.Echo "Valid query"
    Else
        WScript.Echo "Not a valid query"
    End If
  End Sub

Cet exemple de méthode a les paramètres suivants :

Paramètre Type Description
connection - Géré : SWbemServices Connexion valide au fournisseur SMS.
wqlQuery - String Chaîne de requête WQL. Pour cet exemple, SELECT * FROM SMS_R_System est une requête valide.

Compilation du code

Voir aussi

Vue d’ensemble des objetsWindows Management InstrumentationComment se connecter à un fournisseur SMS dans Configuration Manager à l’aide de WMIComment créer un objet Configuration Manager à l’aide de WMIComment supprimer un objet Configuration Manager à l’aide de WMIComment modifier un objet Configuration Manager objet à l’aide de WMIComment effectuer une requête de Configuration Manager asynchrone à l’aide de WMIComment effectuer une requête Configuration Manager synchrone à l’aide de WMIComment lire un Configuration Manager objet à l’aide de WMIGuide pratique pour lire des propriétés différées à l’aide de WMI