Compartilhar via


Como chamar um método de classe de objeto Configuration Manager usando código gerenciado

Para chamar um método de classe provedor de SMS, em Configuration Manager, use o método ExecuteMethod. Você preenche um objeto Dictionary com os parâmetros do método e o valor retornado é um objeto IResultObject que contém o resultado da chamada do método.

Observação

Para chamar um método em uma instância de objeto, use o método ExecuteMethod na instância de objeto IResultObject .

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

  1. Configure uma conexão com o Provedor de SMS. Para obter mais informações, confira Os fundamentos do Provedor de SMS.

  2. Crie os parâmetros de entrada como um objeto Dictionary .

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

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

Exemplo

O exemplo a seguir valida uma consulta de regra de coleção chamando o método de classe ValidateQuery da classe SMS_CollectionRuleQuery.

Para obter informações sobre como chamar o código de exemplo, consulte Chamando Configuration Manager Snippets 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 – Gerenciado: WqlConnectionManager Uma conexão válida com o provedor de SMS.
wqlQuery – Gerenciado: IResultObject Uma cadeia de caracteres 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 exceções Configuration Manager que podem ser geradas são SmsConnectionException e SmsQueryException. Elas podem ser capturadas junto com SmsException.

Confira também

Visão geral de objetoscomo se conectar a um provedor de Configuration Manager usando código gerenciado
Como criar um objeto Configuration Manager usando código gerenciado
Como modificar um objeto Configuration Manager usando código gerenciado
Como executar uma consulta de Configuration Manager assíncrona usando código gerenciado
Como executar uma consulta de Configuration Manager síncrona usando código gerenciado
Como ler um objeto Configuration Manager usando código gerenciado