如何使用托管代码读取延迟属性
若要从查询中返回的 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对象