Een Asynchrone Configuration Manager-query uitvoeren met behulp van WMI
In Configuration Manager voert u een synchrone query uit voor Configuration Manager-objecten door de methode ExecQueryAsync van het SWbemServices-object aan te roepen en door een sink-methode te implementeren om queryresultaten te verwerken.
Als u elk geretourneerd object wilt verwerken, maakt u een subroutine voor de gebeurtenis objWbemSink.OnObjectReady . Als u een melding wilt ontvangen wanneer de query is voltooid, maakt u een subroutine voor de gebeurtenis objWbemSink.OnCompleted .
Opmerking
Luie eigenschappen worden niet geretourneerd in asynchrone query's. Zie Luie eigenschappen lezen met behulp van WMI voor meer informatie.
Een asynchrone query uitvoeren
Een verbinding met de SMS-provider instellen. Zie Verbinding maken met een SMS-provider in Configuration Manager met WMI voor meer informatie.
Maak een OnObjectReady-subroutine om objecten door de query te verwerken.
Maak een OnCompleted-subroutine om het voltooien van query's af te handelen.
Gebruik het object SWbemServices dat u uit stap één ophaalt, gebruik het object ExecQueryAsync om Configuration Manager objecten asynchroon op te vragen.
Voorbeeld
In het volgende VBScript-codevoorbeeld worden asynchroon query's uitgevoerd op alle SMS_Collection objecten.
Zie Aanroepen Configuration Manager codefragmenten voor meer informatie over het aanroepen van de voorbeeldcode.
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
Deze voorbeeldmethode heeft de volgende parameters:
Parameter | Type | Beschrijving |
---|---|---|
connection |
SWbemServices | Een geldige verbinding met de SMS-provider. |
Zie ook
Windows Management Instrumentation
Overzicht van objectenEen methode voor een Configuration Manager-objectklasse aanroepen met behulp van WMI
Verbinding maken met een SMS-provider in Configuration Manager met behulp van WMI
Een Configuration Manager-object maken met WMI
Een Configuration Manager-object verwijderen met WMI
Een Configuration Manager-object wijzigen met behulp van WMI
Een synchrone Configuration Manager-query uitvoeren met behulp van WMI
Een Configuration Manager-object lezen met behulp van WMI
Luie eigenschappen lezen met behulp van WMI
uitgebreide WMI-querytaal Configuration Manager
Configuration Manager resultatensets
Configuration Manager speciale query's
Over query's