如何读取Configuration Manager站点控件文件嵌入属性列表
在 Configuration Manager 中,通过从资源 PropLists 属性数组获取嵌入对象的 SMS_EmbeddedPropertyList 对象,从站点控件文件资源读取嵌入属性列表。
嵌入的属性列表具有以下可设置的属性。 有关详细信息,请参阅 SMS_EmbeddedPropertyList。
值 | 说明 |
---|---|
PropertyListName | 嵌入的属性名称。 |
值 | 字符串值的数组。 每个数组项表示单个属性列表项。 |
警告
对站点控制文件进行更改可能会对Configuration Manager站点造成无法弥补的损害。
读取站点控件文件嵌入属性列表
设置与 SMS 提供程序的连接。 有关详细信息,请参阅 SMS 提供程序基础知识。
使用步骤 1 中的连接对象获取站点控制文件资源。 有关详细信息,请参阅关于Configuration Manager站点控制文件。
SMS_EmbeddedPropertyList
获取所需嵌入属性列表的 。使用
SMS_EmbeddedPropertyList
对象 Values 属性数组访问属性列表值。
示例
以下示例方法使用 参数标识propertyListName
的嵌入属性列表SMS_EmbeddedPropertyList
的 Values 数组填充提供的 values
参数。
true
如果找到嵌入的属性列表,则返回 ;否则返回 false
。
若要查看调用这些函数的代码,请参阅如何使用托管代码读取和写入Configuration Manager站点控制文件,或请参阅如何使用 WMI 读取和写入Configuration Manager站点控制文件。
有关调用示例代码的信息,请参阅调用Configuration Manager代码片段。
Function GetScfEmbeddedPropertyList(resource, _
propertyListName, _
ByRef values)
Dim scfPropertyList
If IsNull(resource.PropLists) = True Then
GetScfPropertyList = False
Exit Function
End If
For each scfPropertyList in resource.PropLists
if scfPropertyList.PropertyListName = propertyListName Then
' Found property list, so return the values array.
values = scfPropertyList.Values
GetScfEmbeddedPropertyList = True
Exit Function
End If
Next
' Did not find the property list.
GetScfEmbeddedPropertyList = False
End Function
public bool GetScfEmbeddedPropertyList(
IResultObject resource,
string propertyListName,
out ArrayList values)
{
values = new ArrayList();
try
{
if (resource.EmbeddedPropertyLists.ContainsKey(propertyListName))
{
values.AddRange(resource.EmbeddedPropertyLists[propertyListName]["Values"].StringArrayValue);
return true;
}
}
catch(SmsException e)
{
Console.WriteLine("Couldn't get the embedded property list: " + e.Message);
}
return false;
}
示例方法具有以下参数:
参数 | 类型 | 说明 |
---|---|---|
Resource |
-管理: IResultObject - VBScript: SWbemObject |
包含嵌入属性的站点控制文件资源。 |
propertyListName |
-管理: String - VBScript: String |
要读取的嵌入属性列表。 |
Values |
- 托管: String 数组- VBScript: String 数组 |
类 SMS_EmbeddedProperty Values 属性。 字符串值的数组。 |
编译代码
C# 示例具有以下编译要求:
命名空间
System
System.Collections.Generic
System.Collections
System.Text
Microsoft。ConfigurationManagement.ManagementProvider
Microsoft。ConfigurationManagement.ManagementProvider.WqlQueryEngine
Assembly
microsoft.configurationmanagement.managementprovider
adminui.wqlqueryengine
可靠编程
有关错误处理的详细信息,请参阅关于Configuration Manager错误。
.NET Framework 安全性
有关保护Configuration Manager应用程序的详细信息,请参阅Configuration Manager基于角色的管理。
另请参阅
关于Configuration Manager站点控制文件
如何使用托管代码读取和写入Configuration Manager站点控制文件
如何使用 WMI 读取和写入Configuration Manager站点控制文件