Teilen über


Ausführen einer asynchronen Configuration Manager Abfrage mithilfe von verwaltetem Code

In Configuration Manager verwenden Sie zum Ausführen einer asynchronen Abfrage mithilfe des verwalteten SMS-Anbieters die ProcessQuery-Methode.

Der erste Parameter der ProcessQuery-Methode ist eine Instanz der SmsBackgroundWorker-Klasse , die zwei Ereignishandler bereitstellt:

So führen Sie eine asynchrone Abfrage aus

  1. Richten Sie eine Verbindung mit dem SMS-Anbieter ein. Weitere Informationen finden Sie unter Grundlagen des SMS-Anbieters.

  2. Erstellen Sie das SmsBackgroundWorker-Objekt , und füllen Sie die Eigenschaften QueryProcessorObjectReady und QueryProcessorCompleted mit den Rückrufmethodennamen auf.

  3. Rufen Sie aus dem WqlConnectionManager-Objekt, das Sie in Schritt 1 abgerufen haben, die ProcessQuery-Methode des QueryProcessor-Objekts auf, um die asynchrone Abfrage zu starten.

Beispiel

Im folgenden Beispiel werden alle verfügbaren SMS_Collection -Objekte abfragt, und im Ereignishandler werden im Beispiel mehrere der Auflistungseigenschaften in die Configuration Manager-Konsole geschrieben.

Informationen zum Aufrufen des Beispielcodes finden Sie unter Aufrufen von Configuration Manager Codeausschnitten.

public void QueryCollections(WqlConnectionManager connection)  
{  
    try  
    {  
        // Set up the query.  
        SmsBackgroundWorker bw1 = new SmsBackgroundWorker();  
        bw1.QueryProcessorObjectReady += new EventHandler<QueryProcessorObjectEventArgs>(bw1_QueryProcessorObjectReady);  
        bw1.QueryProcessorCompleted += new EventHandler<RunWorkerCompletedEventArgs>(bw1_QueryProcessorCompleted);  

        // Query for all collections.  
        connection.QueryProcessor.ProcessQuery(bw1, "select * from SMS_Collection");  

        // Pause while query runs.  
        Console.ReadLine();  
    }  
    catch (SmsException ex)  
    {  
        Console.WriteLine("Failed to start asynchronous query: ", ex.Message);  
    }  
}  

void bw1_QueryProcessorObjectReady(object sender, QueryProcessorObjectEventArgs e)  
{  
    try  
    {  
        // Get the collection.  
        IResultObject collection = (IResultObject)e.ResultObject;  

        //Display properties.  
        Console.WriteLine(collection["CollectionID"].StringValue);  
        Console.WriteLine(collection["Name"].StringValue);  
        Console.WriteLine();  
        collection.Dispose();  
    }  
    catch (SmsQueryException eX)  
    {  
        Console.WriteLine("Query Error: " + eX.Message);  
    }  
}  

void bw1_QueryProcessorCompleted(object sender, RunWorkerCompletedEventArgs e)  
{  
    Console.WriteLine("Done...");  
}  

Diese Beispielmethode weist die folgenden Parameter auf:

Parameter Typ Beschreibung
connection Verwalteten: WqlConnectionManager Eine gültige Verbindung mit dem SMS-Anbieter.

Kompilieren des Codes

Namespaces

System

System.Collections.Generic

System.ComponentModel

Microsoft. ConfigurationManagement.ManagementProvider

Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine

Assembly

microsoft.configurationmanagement.managementprovider

adminui.wqlqueryengine

Robuste Programmierung

Die Configuration Manager Ausnahmen, die ausgelöst werden können, sind SmsConnectionException und SmsQueryException. Diese können zusammen mit SmsException abgefangen werden.

Siehe auch

Übersicht über ObjekteConfiguration Manager Verzögerte Eigenschaften
Aufrufen einer Configuration Manager-Objektklassenmethode mithilfe von verwaltetem Code
Herstellen einer Verbindung mit einem Configuration Manager Anbieter mithilfe von verwaltetem Code
Erstellen eines Configuration Manager-Objekts mithilfe von verwaltetem Code
Ändern eines Configuration Manager-Objekts mithilfe von verwaltetem Code
Ausführen einer synchronen Configuration Manager Abfrage mithilfe von verwaltetem Code
Lesen eines Configuration Manager-Objekts mithilfe von verwaltetem Code
Lesen verzögerter Eigenschaften mithilfe von verwaltetem Code
Ausführen einer synchronen Configuration Manager Abfrage mit verwaltetem Code
Configuration Manager Erweiterte WMI-Abfragesprache
Configuration Manager Resultsets
spezielle Abfragen Configuration Manager
Informationen zu Abfragen