Udostępnij przez


Jak wykonać synchroniczne zapytanie Configuration Manager przy użyciu usługi WMI

W Configuration Manager wykonasz synchroniczne zapytanie dotyczące obiektów Configuration Manager, wywołując metodę ExecQuery obiektu SWbemServices i przekazując zapytanie WQL.

Zapytanie synchroniczne to zapytanie, które zachowuje kontrolę nad procesem aplikacji przez czas trwania zapytania. Zapytanie synchroniczne może zablokować aplikację dla dużych zapytań lub zapytań za pośrednictwem sieci. Alternatywnie można uruchomić asynchroniczne zapytanie, które zwraca kontrolę do aplikacji podczas wykonywania zapytania. Aby uzyskać więcej informacji, zobacz How to Perform an Asynchronous Configuration Manager Query by Using Managed Code (Jak wykonać asynchroniczne zapytanie Configuration Manager przy użyciu kodu zarządzanego)

Uwaga

Właściwości z opóźnieniem nie są zwracane w zapytaniach synchronicznych. Aby uzyskać więcej informacji, zobacz Jak odczytywać właściwości z opóźnieniem przy użyciu usługi WMI.

Aby wykonać zapytanie synchroniczne

  1. Skonfiguruj połączenie z dostawcą programu SMS. Aby uzyskać więcej informacji, zobacz How to Connect to an SMS Provider in Configuration Manager by Using WMI (Jak nawiązać połączenie z dostawcą programu SMS w Configuration Manager przy użyciu usługi WMI).

  2. Używając obiektu SWbemServices, który uzyskujesz z kroku 1, użyj metody ExecQuery, aby uzyskać kolekcję SWbemObjectSet zawierającą wyniki zapytania.

  3. Iteruj przez kolekcję SWbemObjectSet, aby uzyskać dostęp do obiektu SWbemObject dla każdego obiektu zwróconego przez zapytanie.

Przykład

Poniższy przykład wykonuje synchroniczne zapytanie dotyczące wszystkich pakietów w Configuration Manager.

Aby uzyskać informacje na temat wywoływania przykładowego kodu, zobacz Wywoływanie fragmentów kodu Configuration Manager.

Sub QueryPackages(connection)

    On Error Resume next

    Dim packages
    Dim package

    ' Run the query.
    Set packages = _
        connection.ExecQuery("Select * From SMS_Package")

    If Err.Number<>0 Then
        Wscript.Echo "Couldn't get Packages"
        Wscript.Quit
    End If

    For Each package In packages
        WScript.Echo  package.Name
    Next

    If packages.Count=0 Then
        Wscript.Echo "No packages found"
    End If

End Sub

Ta przykładowa metoda ma następujące parametry:

Parametr Wpisać Opis
connection SWbemServices Prawidłowe połączenie z dostawcą programu SMS.

Zobacz też

Windows Management InstrumentationObjects overviewHow to Call a Configuration Manager Object Class Method by Using WMIHow to Connect to an SMS Provider in Configuration Manager by Using WMIHow to Create a Configuration Manager Object by Using WMI How to Using WMI How to Usuwanie obiektu Configuration Manager przy użyciu usługi WMIHow to Modify a Configuration Manager Object by Using WMIHow to Perform an Asynchronous Configuration Manager Query by Using WMIHow to Read a Configuration Manager Obiekt przy użyciu usługi WMIJak odczytywać właściwości z opóźnieniem przy użyciu usługi WMIConfiguration Manager rozszerzony język zapytań WMIConfiguration Manager zestawy wynikówConfiguration Manager specjalne zapytaniadotyczące zapytań