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

Pour appeler une méthode de classe du fournisseur SMS, dans le Configuration Manager, vous utilisez la méthode ExecuteMethod. 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.

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. Établissez 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 en tant qu’objet Dictionnaire .

  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 renvoyé.

Exemple

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

Pour plus d’informations sur l’appel de l’exemple de code, consultez Appel d’extraits de code de 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 contient 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 du Configuration Manager qui peuvent être levées sont SmsConnectionException et SmsQueryException. Ceux-ci peuvent être interceptés avec SmsException.

Voir aussi

Vue d’ensemble des objetsComment se connecter à un fournisseur de Configuration Manager à l’aide de code managéComment créer un objet Configuration Manager à l’aide de code managéProcédure pour modifier un objet Configuration Manager à l’aide de code managéComment effectuer une exécution Requête du Configuration Manager à l’aide de code managéProcédure pour exécuter une requête Configuration Manager synchrone à l’aide de code managéComment lire un objet Configuration Manager à l’aide de code managé