Поделиться через


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

Чтобы считывать отложенное свойство из объекта 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

Microsoft.ConfigurationManagement.ManagementProvider

Microsoft.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 с помощью управляемого кода