Guide pratique pour appeler une méthode de classe d’objet Configuration Manager avec du code managé

Pour appeler une méthode de classe de fournisseur SMS, dans Configuration Manager, vous utilisez la méthode des canexecutemethod . Vous remplissez un objet dictionnaire avec les paramètres de la méthode, et la valeur de retour est un objet IResultObject qui contient le résultat de l’appel de la méthode.

Notes

Pour appeler une méthode sur une instance d’objet, utilisez la méthode des canexecutemethod sur l’instance de l’objet IResultObject .

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

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

  2. Créez les paramètres d’entrée sous la forme d’un objet de dictionnaire .

  3. À l’aide de l’instance de l’objet WqlConnectionManager , appelez des canexecutemethod et spécifiez le nom de la classe et les paramètres d’entrée.

  4. Récupérez la valeur de retour de la méthode à partir de la propriété returnValue dans l’objet IResultObject retourné.

Exemple

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

Pour plus d’informations sur l’appel de l’exemple de code, consultez Calling Configuration Manager Code Snippets (Appel d’extraits de code Configuration Manager).

public void ValidateQueryRule(WqlConnectionManager connection, string wqlQuery)  
{  
    try  
    {  
        Dictionary<string,object> validateQueryParameters = new Dictionary<string,object>();  

        // Add the sql query as the WQLQuery parameter.  
        validateQueryParameters.Add("WQLQuery",wqlQuery);  

        // Call the method  
        IResultObject result=connection.ExecuteMethod("SMS_CollectionRuleQuery", "ValidateQuery", validateQueryParameters);  

        if (result["ReturnValue"].BooleanValue == true)  
        {  
            Console.WriteLine (wqlQuery + " is a valid query");  
        }  
        else  
        {  
            Console.WriteLine (wqlQuery + " is not a valid query");  
        }  
     }  
     catch (SmsException ex)  
     {  
           Console.WriteLine("Failed to validate query rule: ",ex.Message);  
           throw;  
     }  
}  

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

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

Compilation du code

Espaces de noms

Système

System.Collections.Generic

System.ComponentModel

Microsoft.ConfigurationManagement.ManagementProvider

Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine

Assembly

microsoft.configurationmanagement.managementprovider

adminui.wqlqueryengine

Programmation fiable

Les exceptions Configuration Manager qui peuvent être déclenchées sont SmsConnectionException et SmsQueryException. Celles-ci peuvent être interceptées avec SmsException.

Voir aussi

Vue d’ensemble des objets Comment se connecter à un fournisseur de Configuration Manager à l’aide de code managé
Comment créer un objet Configuration Manager à l’aide de code managé
Comment modifier un objet Configuration Manager à l’aide de code managé
Comment exécuter une requête Configuration Manager asynchrone à l’aide du code managé
Comment exécuter une requête de Configuration Manager synchrone à l’aide de code managé
Comment lire un objet Configuration Manager à l’aide de code managé