Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Aby odczytać leniwą właściwość z obiektu programu Configuration Manager zwróconego w zapytaniu, należy pobrać wystąpienie obiektu, które pobiera wszelkie właściwości leniwego obiektu od dostawcy SMS.
Uwaga
Jeśli znasz pełną ścieżkę do obiektu WMI, wywołanie metody GetInstance zwraca obiekt WMI wraz z wszelkimi właściwościami z opóźnieniem. Aby uzyskać więcej informacji, zobacz Jak odczytać obiekt programu Configuration Manager przy użyciu kodu zarządzanego.
Aby uzyskać więcej informacji, zobacz Właściwości leniwe programu Configuration Manager.
Aby odczytać właściwości z opóźnieniem
Konfigurowanie połączenia z dostawcą usługi SMS. Aby uzyskać więcej informacji, zobacz Jak połączyć się z dostawcą wiadomości SMS w programie Configuration Manager przy użyciu kodu zarządzanego.
Używanie obiektu QueryProcessor do wykonywania zapytań o obiekty programu Configuration Manager.
Iteruj wyniki zapytania.
Korzystając z WqlConnectionManager uzyskanego w kroku pierwszym, wywołaj GetInstance , aby pobrać obiekt IResultObject dla każdego obiektu, z którego chcesz uzyskać właściwości z opóźnieniem.
Przykład
Poniższy przykład kodu w języku C# wysyła zapytanie dotyczące wszystkich obiektów SMS_Collection , a następnie wyświetla nazwy reguł uzyskane z CollectionRules właściwości Lazy.
Aby uzyskać informacje na temat wywoływania przykładowego kodu, zobacz Wywoływanie fragmentów kodu programu 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ą SMS. |
Kompilowanie kodu
Przestrzenie nazw
System
System.Collections.Generic
System.ComponentModel
Microsoft.ConfigurationManagement.ManagementProvider
Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine
Montaż
Microsoft.configurationmanagement.managementprovider
adminui.wqlqueryengine
Wydajne programowanie
Wyjątki programu Configuration Manager, które mogą zostać zgłoszone, to SmsConnectionException i SmsQueryException. Można je przechwycić razem z SmsException.
Zobacz też
Leniwe właściwości programu Configuration Manager
Jak wywołać metodę klasy obiektu programu Configuration Manager przy użyciu kodu zarządzanego
Jak połączyć się z dostawcą programu Configuration Manager przy użyciu kodu zarządzanego
Jak utworzyć obiekt programu Configuration Manager przy użyciu kodu zarządzanego
Jak zmodyfikować obiekt programu Configuration Manager przy użyciu kodu zarządzanego
Jak wykonać asynchroniczne zapytanie programu Configuration Manager przy użyciu kodu zarządzanego
Jak wykonać synchroniczne zapytanie programu Configuration Manager przy użyciu kodu zarządzanego
Jak odczytać obiekt programu Configuration Manager przy użyciu kodu zarządzanego