Come eseguire una query Configuration Manager asincrona usando WMI
In Configuration Manager si esegue una query sincrona per Configuration Manager oggetti chiamando il metodo ExecQueryAsync dell'oggetto SWbemServices e implementando un metodo sink per gestire i risultati della query.
Per gestire ogni oggetto restituito, creare una subroutine di evento objWbemSink.OnObjectReady . Per ricevere una notifica al termine della query, creare una subroutine di evento objWbemSink.OnCompleted .
Nota
Le proprietà lazy non vengono restituite nelle query asincrone. Per altre informazioni, vedere How to Read Lazy Properties by Using WMI (Come leggere le proprietà lazy tramite WMI).
Per eseguire una query asincrona
Configurare una connessione al provider SMS. Per altre informazioni, vedere Come connettersi a un provider SMS in Configuration Manager tramite WMI.
Creare una subroutine OnObjectReady per gestire gli oggetti tramite la query.
Creare una subroutine OnCompleted per gestire il completamento della query.
Usando l'oggetto SWbemServices ottenuto dal passaggio 1, usare l'oggetto ExecQueryAsync per eseguire query Configuration Manager oggetti in modo asincrono.
Esempio
L'esempio di codice VBScript seguente esegue query in modo asincrono per tutti gli oggetti SMS_Collection .
Per informazioni sulla chiamata del codice di esempio, vedere Chiamata di frammenti di codice Configuration Manager.
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
Questo metodo di esempio include i parametri seguenti:
Parametro | Tipo | Descrizione |
---|---|---|
connection |
SWbemServices | Connessione valida al provider SMS. |
Vedere anche
Strumentazione gestione Windows
Panoramica degli oggettiCome chiamare un metodo della classe oggetto Configuration Manager tramite WMI
Come connettersi a un provider SMS in Configuration Manager tramite WMI
Come creare un oggetto Configuration Manager tramite WMI
Come eliminare un oggetto Configuration Manager tramite WMI
Come modificare un oggetto Configuration Manager tramite WMI
Come eseguire una query di Configuration Manager sincrona tramite WMI
Come leggere un oggetto Configuration Manager tramite WMI
Come leggere le proprietà lazy usando WMI
Configuration Manager linguaggio di query WMI esteso
set di risultati Configuration Manager
query speciali Configuration Manager
Informazioni sulle query