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

Přehled objektůslužby Windows Management InstrumentationJak volat metodu třídy objektu Configuration Manager pomocí rozhraní WMIJak se připojit k poskytovateli serveru SMS v Configuration Manager pomocí rozhraní WMIPostup vytvoření objektu Configuration Manager pomocí rozhraní WMIPostupy Odstranění objektu Configuration Manager pomocí rozhraní WMIPostup úpravy objektu Configuration Manager pomocí rozhraní WMIPostup provedení synchronního Configuration Manager dotazu pomocí rozhraní WMIPostup čtení Configuration Manager Objekt pomocí rozhraní WMI: Jak číst opožděné vlastnosti pomocí rozhraní WMIConfiguration Manager rozšířeného dotazovacího jazyka WMIConfiguration Manager sady výsledkůConfiguration Manager speciální dotazyna dotazy