WMI를 사용하여 비동기 Configuration Manager 쿼리를 수행하는 방법

Configuration Manager SWbemServices 개체 ExecQueryAsync 메서드를 호출하고 쿼리 결과를 처리하는 싱크 메서드를 구현하여 Configuration Manager 개체에 대한 동기 쿼리를 수행합니다.

반환된 각 개체를 처리하려면 objWbemSink.OnObjectReady 이벤트 서브루틴을 만듭니다. 쿼리가 완료되면 알림을 받도록 objWbemSink.OnCompleted 이벤트 서브루틴을 만듭니다.

참고

지연 속성은 비동기 쿼리에서 반환되지 않습니다. 자세한 내용은 WMI를 사용하여 지연 속성을 읽는 방법을 참조하세요.

비동기 쿼리를 수행하려면

  1. SMS 공급자에 대한 연결을 설정합니다. 자세한 내용은 WMI를 사용하여 Configuration Manager SMS 공급자에 연결하는 방법을 참조하세요.

  2. 쿼리로 개체를 처리하는 OnObjectReady 서브루틴을 만듭니다.

  3. 쿼리 완료를 처리할 OnCompleted 서브루틴을 만듭니다.

  4. 1단계에서 가져온 SWbemServices 개체를 사용하여 ExecQueryAsync 개체를 사용하여 Configuration Manager 개체를 비동기적으로 쿼리합니다.

예시

다음 VBScript 코드 예제에서는 모든 SMS_Collection 개체에 대해 비동기적으로 쿼리합니다.

샘플 코드 호출에 대한 자세한 내용은 코드 조각 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  

이 예제 메서드에는 다음 매개 변수가 있습니다.

매개 변수 형식 설명
connection SWbemServices SMS 공급자에 대한 유효한 연결입니다.

참고 항목

Windows 관리 계측
개체 개요WMI를 사용하여 Configuration Manager 개체 클래스 메서드를 호출하는 방법
WMI를 사용하여 Configuration Manager SMS 공급자에 연결하는 방법
WMI를 사용하여 Configuration Manager 개체를 만드는 방법
WMI를 사용하여 Configuration Manager 개체를 삭제하는 방법
WMI를 사용하여 Configuration Manager 개체를 수정하는 방법
WMI를 사용하여 동기 Configuration Manager 쿼리를 수행하는 방법
WMI를 사용하여 Configuration Manager 개체를 읽는 방법
WMI를 사용하여 지연 속성을 읽는 방법
확장 WMI 쿼리 언어 Configuration Manager
결과 집합 Configuration Manager
특수 쿼리 Configuration Manager
쿼리 정보