Como executar uma consulta de Configuration Manager assíncrona usando o WMI
Em Configuration Manager, você executa uma consulta síncrona para objetos Configuration Manager chamando o objeto SWbemServicesexecQueryAsync e implementando um método de coletor para lidar com os resultados da consulta.
Para manipular cada objeto retornado, crie uma sub-rotina de evento objWbemSink.OnObjectReady . Para ser notificado quando a consulta for concluída, crie uma sub-rotina de evento objWbemSink.OnCompleted .
Observação
Propriedades preguiçosas não são retornadas em consultas assíncronas. Para obter mais informações, consulte Como ler propriedades preguiçosas usando o WMI.
Para executar uma consulta assíncrona
Configure uma conexão com o Provedor de SMS. Para obter mais informações, consulte Como conectar-se a um provedor de SMS no Configuration Manager usando o WMI.
Crie uma sub-rotina OnObjectReady para manipular objetos pela consulta.
Crie uma sub-rotina OnCompleted para lidar com a conclusão da consulta.
Usando o objeto SWbemServices obtido na primeira etapa, use o objeto ExecQueryAsync para consultar Configuration Manager objetos de forma assíncrona.
Exemplo
O exemplo de código VBScript a seguir consulta assíncronamente para todos os objetos SMS_Collection .
Para obter informações sobre como chamar o código de exemplo, consulte Chamando Configuration Manager Snippets de Código.
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
Este método de exemplo tem os seguintes parâmetros:
Parâmetro | Tipo | Descrição |
---|---|---|
connection |
SWbemServices | Uma conexão válida com o provedor de SMS. |
Confira também
Instrumentação de gerenciamento do Windows
Visão geral de objetosComo chamar um método de classe de objeto Configuration Manager usando o WMI
Como se conectar a um provedor de SMS no Configuration Manager usando o WMI
Como criar um objeto Configuration Manager usando o WMI
Como excluir um objeto Configuration Manager usando o WMI
Como modificar um objeto Configuration Manager usando o WMI
Como executar uma consulta de Configuration Manager síncrona usando o WMI
Como ler um objeto Configuration Manager usando o WMI
Como ler propriedades preguiçosas usando o WMI
Configuration Manager Linguagem de Consulta WMI Estendida
conjuntos de resultados Configuration Manager
Configuration Manager consultas especiais
Sobre consultas