Dela via


Så här utför du en synkron fråga med hjälp av System.Management

Om du vill fråga Configuration Manager windows management instrumentation (WMI) synkront använder du ett ManagementObjectSearcher -objekt.

Om du vill läsa en lazy-egenskap från ett Configuration Manager objekt som returneras i en fråga hämtar du objektinstansen, som i sin tur hämtar alla lazy-objektegenskaper från SMS-providern.

Så här utför du en synkron fråga

  1. Konfigurera en anslutning till Configuration Manager klientens WMI-namnområde. Mer information finns i How to Connect to the Configuration Manager Client WMI Namespace by Using System.Management .

  2. Skapa en ManagementObjectSearcher-samling och ange en WQL-fråga.

  3. Iterera genom samlingen ManagementObjectSearcher för att visa ManagementObject för varje WMI-objekt som returneras av frågan.

Exempel

Följande C#-kodexempel frågar efter det enda SMS_Client objekt som finns på en Configuration Manager-klient.

Information om hur du anropar exempelkoden finns i Så här anropar du en WMI-klassmetod med Hjälp av 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;  
    }  
}  

Den här exempelmetoden har följande parametrar:

Parameter Typ Beskrivning
scope ManagementScope Representerar ett omfång (namnområde) för hanteringsåtgärder.

Kompilera koden

Namnområden

System.

System.Management.

Församlingen

System.Management.

Robust programmering

Undantaget som kan aktiveras är System.Management.ManagementException.

Se även

Om Configuration Manager WMI-programmering
Anropa en WMI-klassmetod med hjälp av System.Management
Ansluta till Configuration Manager klientens WMI-namnområde med hjälp av System.Management
Så här utför du en asynkron fråga med hjälp av System.Management
Läsa ett WMI-objekt med System.Management