Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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 zum Verarbeiten von Abfrageergebnissen implementieren.
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 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 a Synchronous 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