Ausführen einer asynchronen Configuration Manager Abfrage mithilfe von WMI
In Configuration Manager führen Sie eine synchrone Abfrage für Configuration Manager Objekte durch, indem Sie die ExecQueryAsync-Methode des SWbemServices-Objekts aufrufen und eine Senkenmethode implementieren, um Abfrageergebnisse zu verarbeiten.
Um jedes zurückgegebene Objekt zu behandeln, erstellen Sie eine ObjWbemSink.OnObjectReady-Ereignisunterroutine . Um benachrichtigt zu werden, wenn die Abfrage abgeschlossen ist, erstellen Sie eine ObjWbemSink.OnCompleted-Ereignisunterroutine .
Hinweis
Verzögerte Eigenschaften werden in asynchronen Abfragen nicht zurückgegeben. Weitere Informationen finden Sie unter Lesen verzögerter Eigenschaften mithilfe von WMI.
So führen Sie eine asynchrone Abfrage aus
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.
Erstellen Sie eine OnObjectReady-Unterroutine , um Objekte durch die Abfrage zu behandeln.
Erstellen Sie eine OnCompleted-Unterroutine , um die Abfragevervollständigung zu behandeln.
Verwenden Sie das SWbemServices-Objekt, das Sie aus Schritt 1 abrufen, das ExecQueryAsync-Objekt, um Configuration Manager Objekte asynchron abzufragen.
Beispiel
Im folgenden VBScript-Codebeispiel werden alle SMS_Collection Objekte asynchron abfragt.
Informationen zum Aufrufen des Beispielcodes finden Sie unter Aufrufen von Configuration Manager Codeausschnitten.
Dim bdone
Sub QueryCollection(connection)
Dim sink
bdone = False
Set sink = WScript.CreateObject("wbemscripting.swbemsink","sink_")
' Query for all collections.
connection.ExecQueryAsync sink, "select * from SMS_Collection"
' Wait until all instances are returned.
While Not bdone
wscript.sleep 1000
Wend
End Sub
' The sink subroutine to handle the OnObjectReady
' event. This is called as each object returns.
Sub sink_OnObjectReady(collection, octx)
WScript.Echo "CollectionID: " + collection.CollectionID
WScript.Echo "Name: " + collection.Name
Wscript.Echo
End Sub
' The sink subroutine to handle the OnCompleted event.
' This is called when all the objects are returned.
' The oErr parameter obtains an SWbemLastError object,
' if available from the provider.
Sub sink_OnCompleted(HResult, oErr, oCtx)
WScript.Echo "All collections returned"
bdone = true
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 Windows-Verwaltungsinstrumentation
ObjektübersichtAufrufen einer Configuration Manager-Objektklassenmethode mithilfe von WMI
Herstellen einer Verbindung mit einem SMS-Anbieter in Configuration Manager mithilfe von WMI
Erstellen eines Configuration Manager-Objekts mithilfe von WMI
Löschen eines Configuration Manager-Objekts mithilfe von WMI
Ändern eines Configuration Manager-Objekts mithilfe von WMI
Ausführen einer synchronen Configuration Manager Abfrage mithilfe von WMI
Lesen eines Configuration Manager-Objekts mithilfe von WMI
Lesen verzögerter Eigenschaften mithilfe von WMI
Configuration Manager Erweiterte WMI-Abfragesprache
Configuration Manager Resultsets
spezielle Abfragen Configuration Manager
Informationen zu Abfragen