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
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.
Maak een ManagementObjectSearcher-verzameling en geef een WQL-query op.
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