Sdílet prostřednictvím


Postup provedení asynchronního dotazu Configuration Manager pomocí rozhraní WMI

V Configuration Manager provedete synchronní dotaz na objekty Configuration Manager voláním metody ExecQueryAsync objektu SWbemServices a implementací metody jímky pro zpracování výsledků dotazu.

Chcete-li zpracovat každý vrácený objekt, vytvořte objWbemSink.OnObjectReady podprogram události. Pokud chcete být upozorněni na dokončení dotazu, vytvořte podprogram události objWbemSink.OnCompleted .

Poznámka

Opožděné vlastnosti se v asynchronních dotazech nevrací. Další informace najdete v tématu Jak číst opožděné vlastnosti pomocí rozhraní WMI.

Provedení asynchronního dotazu

  1. Nastavte připojení k poskytovateli serveru SMS. Další informace najdete v tématu Připojení k poskytovateli serveru SMS v Configuration Manager pomocí rozhraní WMI.

  2. Vytvořte podprogram OnObjectReady pro zpracování objektů pomocí dotazu.

  3. Vytvořte podprogram OnCompleted pro zpracování dokončení dotazu.

  4. Pomocí objektu SWbemServices, který získáte z kroku 1, použijte objekt ExecQueryAsync k asynchronnímu dotazování Configuration Manager objektů.

Příklad

Následující příklad kódu jazyka VBScript se asynchronně dotazuje na všechny objekty SMS_Collection .

Informace o volání ukázkového kódu najdete v tématu Volání Configuration Manager fragmentů kódu.

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  

Tato ukázková metoda má následující parametry:

Parametr Typ Popis
connection SWbemServices Platné připojení k poskytovateli serveru SMS.

Viz taky

Instrumentace správy systému Windows
Přehled objektůJak volat metodu třídy objektu Configuration Manager pomocí rozhraní WMI
Připojení k poskytovateli serveru SMS v Configuration Manager pomocí rozhraní WMI
Vytvoření objektu Configuration Manager pomocí rozhraní WMI
Odstranění objektu Configuration Manager pomocí rozhraní WMI
Úprava objektu Configuration Manager pomocí rozhraní WMI
Jak provést synchronní dotaz Configuration Manager pomocí rozhraní WMI
Čtení objektu Configuration Manager pomocí rozhraní WMI
Jak číst opožděné vlastnosti pomocí rozhraní WMI
Configuration Manager rozšířený dotazovací jazyk WMI
Configuration Manager sady výsledků
Configuration Manager speciální dotazy
Informace o dotazech