Partage via


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

Pour appeler une méthode de classe fournisseur SMS, dans Configuration Manager, vous utilisez la méthode ExecuteMethod. Vous remplissez un objet Dictionary 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 méthode.

Remarque

Pour appeler une méthode sur une instance d’objet, utilisez la méthode ExecuteMethod sur l’instance d’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 Notions de base du fournisseur SMS.

  2. Créez les paramètres d’entrée en tant qu’objet Dictionary .

  3. À l’aide de l’instance d’objet WqlConnectionManager , appelez ExecuteMethod et spécifiez le nom de 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 ValidateQuerySMS_CollectionRuleQuery.

Pour plus d’informations sur l’appel de l’exemple de code, consultez 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 a les paramètres suivants :

Paramètre Type Description
connection - Géré : WqlConnectionManager Connexion valide au fournisseur SMS.
wqlQuery - Géré : 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 robuste

Les exceptions Configuration Manager qui peuvent être levées sont SmsConnectionException et SmsQueryException. Ceux-ci peuvent être regroupés avec SmsException.

Voir aussi

Vue d’ensemble des objetsComment se connecter à un fournisseur Configuration Manager à l’aide de code managé
Guide pratique pour créer un objet Configuration Manager à l’aide de code managé
Comment modifier un objet Configuration Manager à l’aide de code managé
Comment effectuer une requête Configuration Manager asynchrone à l’aide de code managé
Comment effectuer une requête de Configuration Manager synchrone à l’aide de code managé
Guide pratique pour lire un objet Configuration Manager à l’aide du code managé