Jak odczytywać właściwości z opóźnieniem przy użyciu kodu zarządzanego
Aby odczytać właściwość z opóźnieniem z obiektu Configuration Manager zwróconego w zapytaniu, otrzymasz wystąpienie obiektu, które pobiera wszelkie właściwości obiektu z opóźnieniem od dostawcy programu SMS.
Uwaga
Jeśli znasz pełną ścieżkę do obiektu WMI, wywołanie metody GetInstance zwraca obiekt WMI wraz z dowolnymi właściwościami z opóźnieniem. Aby uzyskać więcej informacji, zobacz Jak odczytać obiekt Configuration Manager przy użyciu kodu zarządzanego.
Aby uzyskać więcej informacji, zobacz Configuration Manager Właściwości z opóźnieniem.
Aby odczytać właściwości z opóźnieniem
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 Managed Code (Jak nawiązać połączenie z dostawcą programu SMS w Configuration Manager przy użyciu kodu zarządzanego).
Użyj obiektu QueryProcessor do wykonywania zapytań Configuration Manager obiektów.
Iteruj wyniki zapytania.
Używając obiektu WqlConnectionManager , który uzyskasz w kroku 1, wywołaj polecenie GetInstance , aby uzyskać obiekt IResultObject dla każdego obiektu, z których chcesz uzyskać właściwości z opóźnieniem.
Przykład
Poniższy przykładowy kod języka C# wykonuje zapytania dotyczące wszystkich obiektów SMS_Collection , a następnie wyświetla nazwy reguł uzyskanych CollectionRules
z właściwości lazy.
Aby uzyskać informacje na temat wywoływania przykładowego kodu, zobacz Wywoływanie fragmentów kodu Configuration Manager.
public void ReadLazyProperty(WqlConnectionManager connection)
{
try
{
// Query all collections.
IResultObject collections = connection.QueryProcessor.ExecuteQuery("Select * from SMS_Collection");
foreach (IResultObject collection in collections)
{
// Get the collection object and lazy properties.
collection.Get();
Console.WriteLine(collection["Name"].StringValue);
// Get the rules.
List<IResultObject> rules = collection.GetArrayItems("CollectionRules");
if (rules.Count == 0)
{
Console.WriteLine("No rules");
Console.WriteLine();
continue;
}
foreach (IResultObject rule in rules)
{
// Display rule names.
Console.WriteLine("Rule name: " + rule["RuleName"].StringValue);
}
Console.WriteLine();
}
}
catch (SmsQueryException ex)
{
Console.WriteLine("Failed to get collection. Error: " + ex.Message);
throw;
}
}
Ta przykładowa metoda ma następujące parametry:
Parametr | Wpisać | Opis |
---|---|---|
connection |
- WqlConnectionManager |
Prawidłowe połączenie z dostawcą programu SMS. |
Kompilowanie kodu
Obszary nazw
System
System.collections.generic
System.componentmodel
Microsoft. ConfigurationManagement.ManagementProvider
Microsoft. ConfigurationManagement.ManagementProvider.WqlQueryEngine
Zestawu
microsoft.configurationmanagement.managementprovider
adminui.wqlqueryengine
Niezawodne programowanie
Wyjątki Configuration Manager, które można zgłaszać, to SmsConnectionException i SmsQueryException. Można je złapać razem z programem SmsException.
Zobacz też
Omówienie obiektówConfiguration Manager Właściwości z opóźnieniem
How to Call a Configuration Manager Object Class Method by Using Managed Code (Jak wywołać metodę klasy obiektów Configuration Manager przy użyciu kodu zarządzanego)
Jak nawiązać połączenie z dostawcą Configuration Manager przy użyciu kodu zarządzanego
Jak utworzyć obiekt Configuration Manager przy użyciu kodu zarządzanego
Jak zmodyfikować obiekt Configuration Manager przy użyciu kodu zarządzanego
Jak wykonać asynchroniczne zapytanie Configuration Manager przy użyciu kodu zarządzanego
Jak wykonać synchroniczne zapytanie Configuration Manager przy użyciu kodu zarządzanego
Jak odczytać obiekt Configuration Manager przy użyciu kodu zarządzanego