若要从查询中返回的 Configuration Manager 对象读取惰性属性,请获取对象实例,该实例从 SMS 提供程序检索任何延迟对象属性。
注意
如果知道 WMI 对象的完整路径,则对 GetInstance 方法的调用将返回 WMI 对象以及任何延迟属性。 有关详细信息,请参阅如何使用托管代码读取Configuration Manager对象。
有关详细信息,请参阅Configuration Manager延迟属性。
读取延迟属性
- 设置与 SMS 提供程序的连接。 有关详细信息,请参阅如何使用托管代码连接到 Configuration Manager 中的 SMS 提供程序。 
- 使用 QueryProcessor 对象查询Configuration Manager对象。 
- 循环访问查询结果。 
- 使用在步骤 1 中获取的 WqlConnectionManager ,调用 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对象