Como executar uma consulta síncrona usando System.Management

Para consultar de forma síncrona o cliente do Configuration Manager Windows Instrumentação de Gerenciamento (WMI), você usa um ManagementObjectSearcher objeto.

Para ler uma propriedade lazy de um objeto Configuration Manager que é retornado em uma consulta, você recebe a instância do objeto, que, por sua vez, recupera qualquer propriedade de objeto preguiçoso do Provedor de SMS.

Para executar uma consulta síncrona

  1. Configurar uma conexão com o namespace WMI do cliente do Configuration Manager. Para obter mais informações, consulte How to Conexão to the Configuration Manager Client WMI Namespace by Using System.Management.

  2. Crie uma coleção ManagementObjectSearcher e especifique uma consulta WQL.

  3. Iterar pela coleção ManagementObjectSearcher para exibir o ManagementObject para cada objeto WMI retornado pela consulta.

Exemplo

O exemplo C# de código a seguir consulta para o único SMS_Client objeto que está em um cliente do Configuration Manager.

Para obter informações sobre como chamar o código de exemplo, consulte How to Call a WMI Class Method by Using System.Management.


public void QueryObjects(ManagementScope scope)  
{  
    try  
    {  
        ManagementObjectSearcher s = new ManagementObjectSearcher  
            ((scope), new WqlObjectQuery("SELECT * FROM sms_client"));  

        foreach (ManagementObject o in s.Get())  
        {  
            // There is only one instance of SMS_Client, so this should enumerate only once.  
            Console.WriteLine("Client version: " + o["ClientVersion"].ToString());  
        }  
    }  
    catch (System.Management.ManagementException e)  
    {  
        Console.WriteLine("Failed to make query: ", e.Message);  
        throw;  
    }  
}  

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

Parâmetro Tipo Descrição
scope ManagementScope Representa um escopo (namespace) para operações de gerenciamento.

Compilando o código

Namespaces

Sistema.

System.Management.

Assembly

System.Management.

Programação robusta

A exceção que pode ser criada é System.Management.ManagementException.

Confira também

Sobre a programação WMI do Configuration Manager
Como chamar um método de classe WMI usando System.Management
Como Conexão namespace WMI do Cliente do Configuration Manager usando System.Management
Como executar uma consulta assíncrona usando System.Management
Como ler um objeto WMI usando System.Management