Чтение отложенных свойств с помощью управляемого кода

Чтобы считывать отложенное свойство из объекта Configuration Manager, возвращенного в запросе, вы получите экземпляр объекта , который извлекает все отложенные свойства объекта от поставщика SMS.

Примечание.

Если вы знаете полный путь к объекту WMI, вызов метода GetInstance возвращает объект WMI вместе с отложенными свойствами. Дополнительные сведения см. в статье Чтение объекта Configuration Manager с помощью управляемого кода.

Дополнительные сведения см. в разделе Configuration Manager Lazy Properties.

Чтение отложенных свойств

  1. Настройте подключение к поставщику SMS. Дополнительные сведения см. в статье Подключение к поставщику SMS в Configuration Manager с помощью управляемого кода.

  2. Используйте объект QueryProcessor для запроса объектов Configuration Manager.

  3. Выполните итерацию результатов запроса.

  4. Используя WqlConnectionManager , полученный на шаге 1, вызовите Метод GetInstance , чтобы получить объект IResultObject для каждого запрашиваемого объекта, из которого требуется получить отложенные свойства.

Пример

В следующем примере кода C# запрашивается все объекты SMS_Collection , а затем отображаются имена правил, полученные из отложенного CollectionRules свойства.

Сведения о вызове примера кода см. в разделе Вызов фрагментов кода 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;  
    }  
}  

Этот пример метода имеет следующие параметры:

Параметр Тип Описание
connection - WqlConnectionManager Допустимое подключение к поставщику SMS.

Компиляция программы

Пространства имен

System;

System.Collections.Generic;

System.ComponentModel

Майкрософт. ConfigurationManagement.ManagementProvider

Майкрософт. ConfigurationManagement.ManagementProvider.WqlQueryEngine

Assembly

microsoft.configurationmanagement.managementprovider

adminui.wqlqueryengine

Надежное программирование

Configuration Manager исключения, которые могут быть вызваны: SmsConnectionException и SmsQueryException. Их можно поймать вместе с SmsException.

См. также

Общие сведения об объектахConfiguration Manager отложенные свойства
Вызов метода класса объектов Configuration Manager с помощью управляемого кода
Подключение к поставщику Configuration Manager с помощью управляемого кода
Создание объекта Configuration Manager с помощью управляемого кода
Изменение объекта Configuration Manager с помощью управляемого кода
Выполнение асинхронного запроса Configuration Manager с помощью управляемого кода
Выполнение синхронного запроса Configuration Manager с помощью управляемого кода
Чтение объекта Configuration Manager с помощью управляемого кода