Så här utför du en asynkron Configuration Manager fråga med hjälp av WMI
I Configuration Manager utför du en synkron fråga för Configuration Manager objekt genom att anropa metoden SWbemServices-objektetExecQueryAsync och genom att implementera en mottagarmetod för att hantera frågeresultat.
Om du vill hantera varje returnerat objekt skapar du en objWbemSink.OnObjectReady-händelseunderrutin . Om du vill meddelas när frågan är klar skapar du en objWbemSink.OnCompleted-händelseunderrutin .
Obs!
Lazy-egenskaper returneras inte i asynkrona frågor. Mer information finns i Läsa Lazy-egenskaper med hjälp av WMI.
Så här utför du en asynkron fråga
Konfigurera en anslutning till SMS-providern. Mer information finns i Så här ansluter du till en SMS-provider i Configuration Manager med hjälp av WMI.
Skapa en OnObjectReady-underrutin för att hantera objekt av frågan.
Skapa en OnCompleted-underrutin för att hantera frågekomplettering.
Använd SWbemServices-objektet som du hämtar från steg ett och använd ExecQueryAsync-objektet för att fråga Configuration Manager objekt asynkront.
Exempel
Följande VBScript-kodexempel frågar asynkront för alla SMS_Collection objekt.
Information om hur du anropar exempelkoden finns i Anropa Configuration Manager kodfragment.
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
Den här exempelmetoden har följande parametrar:
Parameter | Typ | Beskrivning |
---|---|---|
connection |
SWbemServices | En giltig anslutning till SMS-providern. |
Se även
Windows Management Instrumentation
ObjektöversiktSå här anropar du en Configuration Manager objektklassmetod med hjälp av WMI
Ansluta till en SMS-provider i Configuration Manager med hjälp av WMI
Så här skapar du ett Configuration Manager objekt med hjälp av WMI
Ta bort ett Configuration Manager objekt med hjälp av WMI
Ändra ett Configuration Manager objekt med hjälp av WMI
Så här utför du en synkron Configuration Manager fråga med hjälp av WMI
Läsa ett Configuration Manager objekt med hjälp av WMI
Läsa lazy-egenskaper med hjälp av WMI
Configuration Manager utökat WMI-frågespråk
Configuration Manager resultatuppsättningar
Configuration Manager särskilda frågor
Om frågor