Freigeben über


Ausführen einer synchronen Configuration Manager Abfrage mithilfe von WMI

In Configuration Manager führen Sie eine synchrone Abfrage für Configuration Manager Objekte durch, indem Sie die ExecQuery-Methode des SWbemServices-Objekts aufrufen und eine WQL-Abfrage übergeben.

Eine synchrone Abfrage ist eine Abfrage, die die Kontrolle über den Prozess Ihrer Anwendung für die Dauer der Abfrage behält. Eine synchrone Abfrage kann Ihre Anwendung für große Abfragen oder für Abfragen über ein Netzwerk sperren. Alternativ können Sie eine asynchrone Abfrage ausführen, die die Steuerung an die Anwendung zurückgibt, während die Abfrage ausgeführt wird. Weitere Informationen finden Sie unter Ausführen einer asynchronen Configuration Manager Abfrage mithilfe von verwaltetem Code.

Hinweis

Verzögerte Eigenschaften werden in synchronen Abfragen nicht zurückgegeben. Weitere Informationen finden Sie unter Lesen verzögerter Eigenschaften mithilfe von WMI.

So führen Sie eine synchrone Abfrage aus

  1. Richten Sie eine Verbindung mit dem SMS-Anbieter ein. Weitere Informationen finden Sie unter Herstellen einer Verbindung mit einem SMS-Anbieter in Configuration Manager mithilfe von WMI.

  2. Verwenden Sie mithilfe des SWbemServices-Objekts, das Sie aus Schritt 1 abrufen, die ExecQuery-Methode, um eine SWbemObjectSet-Auflistung mit den Abfrageergebnissen abzurufen.

  3. Durchlaufen Sie die SWbemObjectSet-Auflistung, um für jedes von der Abfrage zurückgegebene Objekt auf ein SWbemObject zuzugreifen.

Beispiel

Im folgenden Beispiel wird eine synchrone Abfrage aller Pakete in Configuration Manager ausgeführt.

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

Sub QueryPackages(connection)

    On Error Resume next

    Dim packages
    Dim package

    ' Run the query.
    Set packages = _
        connection.ExecQuery("Select * From SMS_Package")

    If Err.Number<>0 Then
        Wscript.Echo "Couldn't get Packages"
        Wscript.Quit
    End If

    For Each package In packages
        WScript.Echo  package.Name
    Next

    If packages.Count=0 Then
        Wscript.Echo "No packages found"
    End If

End Sub

Diese Beispielmethode weist die folgenden Parameter auf:

Parameter Typ Beschreibung
connection SWbemServices Eine gültige Verbindung mit dem SMS-Anbieter.

Siehe auch

Windows Management InstrumentationObjects OverviewHow to Call a Configuration Manager Object Class Method by Using WMIHow to Connect to an SMS Provider in Configuration Manager by Using WMIHow to Create a Configuration Manager Object by Using WMI How to Create a Configuration Manager Object by Using WMIHow to Löschen eines Configuration Manager-Objekts mithilfe von WMIHow to Modify a Configuration Manager Object by Using WMIHow to Perform an Asynchronous Configuration Manager Query by Using WMIHow to Read a Configuration Manager Object by Using WMIHow to Read Lazy Properties by Using WMIConfiguration Manager Extended WMI Query LanguageConfiguration Manager ResultsetsConfiguration Manager Special QueriesAbout queries