Delen via


Een synchrone query uitvoeren met System.Management

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

Als u een luie eigenschap wilt lezen van een Configuration Manager-object dat wordt geretourneerd in een query, krijgt u het objectexemplaren, waarmee eventuele lui-objecteigenschappen van de SMS-provider worden opgehaald.

Een synchrone query uitvoeren

  1. Een verbinding instellen met de WMI-naamruimte van de Configuration Manager-client. Zie How to Connect to the Configuration Manager Client WMI Namespace by Using System.Management (Verbinding maken met de WMI-naamruimte van de Configuration Manager-client met behulp van System.Management) voor meer informatie.

  2. Maak een ManagementObjectSearcher-verzameling en geef een WQL-query op.

  3. Doorloop de verzameling ManagementObjectSearcher om het ManagementObject weer te geven voor elk WMI-object dat door de query wordt geretourneerd.

Voorbeeld

In het volgende C#-codevoorbeeld wordt een query uitgevoerd op het enkele SMS_Client object dat zich op een Configuration Manager-client bevindt.

Zie How to Call a WMI Class Method by Using System.Management (Een WMI-klassemethode aanroepen met behulp van System.Management) voor meer 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.

Vergadering

System.Management.

Robuust programmeren

De uitzondering die kan worden gegenereerd, 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 system.management
Een WMI-object lezen met System.Management