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 une instance d’objet, 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’instance d’objet SWbemServices, 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

Windows Infrastructure de gestion
Vue d’ensemble des objetsComment se connecter à un fournisseur SMS dans Configuration Manager à l’aide de WMI
Comment créer un objet Configuration Manager à l’aide de WMI
Comment supprimer un objet Configuration Manager à l’aide de WMI
Comment modifier un objet Configuration Manager à l’aide de WMI
Comment effectuer une requête Configuration Manager asynchrone à l’aide de WMI
Comment effectuer une requête de Configuration Manager synchrone à l’aide de WMI
Guide pratique pour lire un objet Configuration Manager à l’aide de WMI
Guide pratique pour lire des propriétés différées à l’aide de WMI