Cómo realizar una consulta de Configuration Manager asincrónica mediante WMI

En Configuration Manager, realice una consulta sincrónica para Configuration Manager objetos llamando al método ExecQueryAsync del objeto SWbemServices e implementando un método receptor para controlar los resultados de la consulta.

Para controlar cada objeto devuelto, cree una subrutina de eventos objWbemSink.OnObjectReady . Para recibir una notificación cuando se complete la consulta, cree una subrutina de eventos objWbemSink.OnCompleted .

Nota:

Las propiedades diferidas no se devuelven en consultas asincrónicas. Para obtener más información, vea How to Read Lazy Properties by Using WMI (Cómo leer propiedades diferidas mediante WMI).

Para realizar una consulta asincrónica

  1. Configure una conexión con el proveedor de SMS. Para obtener más información, vea Cómo conectarse a un proveedor de SMS en Configuration Manager mediante WMI.

  2. Cree una subrutina OnObjectReady para controlar los objetos de la consulta.

  3. Cree una subrutina OnCompleted para controlar la finalización de la consulta.

  4. Con el objeto SWbemServices que obtiene del paso uno, use el objeto ExecQueryAsync para consultar Configuration Manager objetos de forma asincrónica.

Ejemplo

En el siguiente ejemplo de código VBScript se consultan de forma asincrónica todos los objetos SMS_Collection .

Para obtener información sobre cómo llamar al código de ejemplo, vea Llamar a fragmentos de código de 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  

Este método de ejemplo tiene los parámetros siguientes:

Parámetro Tipo Descripción
connection SWbemServices Una conexión válida al proveedor de SMS.

Consulta también

Instrumental de administración de Windows
Información general sobreobjetos Cómo llamar a un método de clase de objeto Configuration Manager mediante WMI
Conexión a un proveedor de SMS en Configuration Manager mediante WMI
Creación de un objeto Configuration Manager mediante WMI
Cómo eliminar un objeto Configuration Manager mediante WMI
Cómo modificar un objeto Configuration Manager mediante WMI
Cómo realizar una consulta de Configuration Manager sincrónica mediante WMI
Cómo leer un objeto Configuration Manager mediante WMI
Cómo leer propiedades diferidas mediante WMI
Configuration Manager lenguaje de consulta WMI extendido
conjuntos de resultados de Configuration Manager
Configuration Manager consultas especiales
Información de las consultas