Udostępnij za pośrednictwem


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 How to Read Lazy Properties by Using WMI (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ż

Instrumentacja zarządzania systemem Windows
Omówienie obiektówJak wywołać metodę klasy obiektów Configuration Manager przy użyciu usługi WMI
Jak nawiązać połączenie z dostawcą programu SMS w Configuration Manager przy użyciu usługi WMI
Jak utworzyć obiekt Configuration Manager przy użyciu usługi WMI
Jak usunąć obiekt Configuration Manager przy użyciu usługi WMI
Jak zmodyfikować obiekt Configuration Manager przy użyciu usługi WMI
Jak wykonać asynchroniczne zapytanie Configuration Manager przy użyciu usługi WMI
Jak odczytać obiekt Configuration Manager przy użyciu usługi WMI
Jak odczytywać właściwości z opóźnieniem przy użyciu usługi WMI
Configuration Manager rozszerzony język zapytań WMI
zestawy wyników Configuration Manager
Configuration Manager specjalnych zapytań
Informacje o zapytaniach