Come chiamare un metodo della classe di oggetti di Configuration Manager tramite codice gestito

Per chiamare un metodo della classe del provider SMS, in Configuration Manager, usare il metodo ExecuteMethod. Popolate un oggetto Dictionary con i parametri del metodo e il valore restituito è un oggetto IResultObject che contiene il risultato della chiamata al metodo.

Nota

Per chiamare un metodo in un'istanza dell'oggetto, utilizzare il metodo ExecuteMethod nell'istanza dell'oggetto IResultObject .

Per chiamare un metodo della classe di oggetti di Configuration Manager

  1. Configurare una connessione al provider SMS. Per altre informazioni, vedere Nozioni fondamentali sul provider SMS.

  2. Creare i parametri di input come oggetto Dictionary .

  3. Utilizzando l'istanza dell'oggetto WqlConnectionManager , chiamare ExecuteMethod e specificare il nome della classe e i parametri di input.

  4. Recupera il valore restituito dal metodo dalla proprietà ReturnValue nell'oggetto IResultObject restituito.

Esempio

Nell'esempio seguente viene convalidata una query di regole di insieme chiamando il metodo della classe ValidateQuerydella classe SMS_CollectionRuleQuery.

Per informazioni sulla chiamata del codice di esempio, vedere Chiamata di frammenti di codice di 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;
     }
}

Questo metodo di esempio include i parametri seguenti:

Parametro Tipo Descrizione
connection - Gestito: WqlConnectionManager Una connessione valida al provider SMS.
wqlQuery - Gestito: IResultObject Una stringa di query WQL. Per questo esempio, SELECT * FROM SMS_R_System è una query valida.

Compilazione del codice

Spazi dei nomi

Sistema

System.Collections.Generic

System.ComponentModel

Microsoft.ConfigurationManagementManagementProvider

Microsoft.ConfigurationManagementManagementProvider.WqlQueryEngine

Assembly

Microsoft.ConfigurationManagement.ManagementProvider

adminui.wqlqueryengine

Programmazione efficiente

Le eccezioni di Configuration Manager che possono essere generate sono SmsConnectionException e SmsQueryException. Questi possono essere intercettati insieme a SmsException.

Vedere anche

Panoramica degli oggettiCome connettersi a un provider di Configuration Manager tramite codice gestitoCome creare un oggetto di Configuration Manager tramite codice gestitoCome modificare un oggetto di Configuration Manager tramite codice gestitoCome eseguire un'operazione asincrona Query di Configuration Manager tramite codice gestitoCome eseguire una query sincrona di Configuration Manager tramite codice gestitoCome leggere un oggetto di Configuration Manager tramite codice gestito