Een synchrone query uitvoeren met behulp van System.Management

Als u een query wilt uitvoeren op de WMI (Windows Management Instrumentation) van de Configuration Manager-client, gebruikt u een ManagementObjectSearcher object.

Als u een lazy property wilt lezen uit een Configuration Manager-object dat wordt geretourneerd in een query, krijgt u het objectexemplaar, dat op zijn beurt alle lazy object-eigenschappen ophaalt bij de sms-provider.

Een synchrone query uitvoeren

  1. Stel een verbinding in met de WMI-naamruimte van de Configuration Manager-client. Zie Verbinding maken met de WMI-naamruimte van de Configuration Manager-client met behulp van System.Management.

  2. Maak een Management ObjectSearcher-verzameling en geef een WQL-query op.

  3. Herhaal de verzameling ManagementObjectSearcher om het ManagementObject te bekijken voor elk WMI-object dat door de query wordt geretourneerd.

Voorbeeld

In de volgende C#-voorbeeldquery's wordt gezocht naar het ene SMS_Client object dat zich op een Configuration Manager-client bevindt.

Zie Een WMI-klassemethode aanroepen met System.Management voor informatie over het aanroepen van de voorbeeldcode.


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

Deze voorbeeldmethode heeft de volgende parameters:

Parameter Type Beschrijving
scope ManagementScope Vertegenwoordigt een bereik (naamruimte) voor beheerbewerkingen.

De code compileren

Naamruimten

Systeem.

System.Management.

bijeenkomst

System.Management.

Robuust programmeren

De uitzondering die kan worden verhoogd is System.Management.ManagementException.

Zie ook

Over Configuration Manager WMI-programmering
Een WMI-klassemethode aanroepen met System.Management
Verbinding maken met de WMI-naamruimte van de Configuration Manager-client met behulp van System.Management
Een asynchrone query uitvoeren met behulp van System.Management
Een WMI-object lezen met System.Management