Compartilhar via


How to Call a Configuration Manager Object Class Method by Using Managed Code (Como Chamar um Método de Classe de Objeto Configuration Manager com o Código Gerido)

Para chamar um método de classe fornecedor de SMS, no Configuration Manager, utilize o método ExecuteMethod. O objeto Dicionário é preenchido com os parâmetros do método e o valor devolvido é um objeto IResultObject que contém o resultado da chamada de método.

Observação

Para chamar um método numa instância de objeto, utilize o método ExecuteMethod na instância de objeto IResultObject .

Para chamar um método de classe de objeto Configuration Manager

  1. Configure uma ligação ao Fornecedor de SMS. Para obter mais informações, veja Noções básicas do Fornecedor de SMS.

  2. Crie os parâmetros de entrada como um objeto dicionário .

  3. Com a instância de objeto WqlConnectionManager , chame ExecuteMethod e especifique o nome da classe e os parâmetros de entrada.

  4. Obtenha o valor de retorno do método da propriedade ReturnValue no objeto IResultObject devolvido.

Exemplo

O exemplo seguinte valida uma consulta de regra de coleção ao chamar o método de classe SMS_CollectionRuleQueryvalidateQuery .

Para obter informações sobre como chamar o código de exemplo, veja Chamar Configuration Manager Fragmentos de Código.

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;
     }
}

Este método de exemplo tem os seguintes parâmetros:

Parâmetro Tipo Descrição
connection - Gerido: WqlConnectionManager Uma ligação válida ao Fornecedor de SMS.
wqlQuery - Gerido: IResultObject Uma cadeia de consulta WQL. Para este exemplo, SELECT * FROM SMS_R_System é uma consulta válida.

Compilando o código

Namespaces

System

System.Collections.Generic

System.ComponentModel

Microsoft.ConfigurationManagement.ManagementProvider

Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine

Assembly

microsoft.configurationmanagement.managementprovider

adminui.wqlqueryengine

Programação robusta

As Configuration Manager exceções que podem ser geradas são SmsConnectionException e SmsQueryException. Estes podem ser capturados em conjunto com SmsException.

Confira também

Descrição geral de ObjetosComo Ligar a um Fornecedor de Configuration Manager através do Código Gerido Como Criar um Objeto de Configuration Manager Através do Código GeridoComo Modificar um Objeto de Configuration Manager Através do Código GeridoComo Executar um Assíncrono Configuration Manager Consulta através do Código GeridoComo Executar uma Consulta de Configuration Manager Síncrona com o Código GeridoComo Ler um Objeto de Configuration Manager Através do Código Gerido