Exchange Server中的自定义属性

Exchange Server包括 15 个扩展属性,可用于添加有关收件人的信息,例如员工 ID、组织单位 (OU) ,或者没有现有属性的其他自定义值。

在早期版本的 Exchange 中,如果要将此信息存储在 Active Directory 中,则必须通过扩展 Active Directory 架构来创建属性。 架构扩展需要规划、采购对象标识符 (OID) 新属性,并在测试环境中测试扩展过程,然后才能在生产环境中实现它。 Exchange Server不允许在地址列表、电子邮件地址策略和动态通讯组使用的收件人筛选器中使用架构扩展。

可用于Exchange Server的自定义属性在 Active Directory 中标记为 ms-Exch-Extension-Attribute1ms-Exch-Extension-Attribute15。 在 Exchange 命令行管理程序中,相应的参数为 CustomAttribute1CustomAttribute15。 任何 Exchange 组件都不使用这些属性。 它们可用于存储 Active Directory 数据,而无需扩展 Active Directory 架构。

注意

ms-Exch-Extension-Attribute-16 to ms-Exch-Extension-Attribute-45 存在于 Active Directory 中,但在 Exchange 管理中心 (EAC) 或 Exchange 命令行管理程序中不可用。 请勿使用非 Exchange 工具编辑这些属性,因为它们可能用于将来的 Exchange 功能。

自定义属性的优点

使用自定义属性有几个优点:

  • 可避免扩展 Active Directory 架构。

  • 无需执行该工作,因为属性是由 Exchange 安装程序创建的。

  • 可以使用 EAC 或 Exchange 命令行管理程序来管理属性。 无需生成自定义控件或编写脚本来填充和显示这些属性。

  • 可以筛选和重复使用这些属性,因为属性是可在 Filter 参数中使用收件人 cmdlet(如 Get-Mailbox)的可筛选属性。 它们还可用于 EAC 和 Exchange 命令行管理程序,为电子邮件地址策略、地址列表和动态通讯组创建筛选器。

多值自定义属性

从 Exchange 2010 Service Pack 2 (SP2) 开始,向 Exchange 添加了五个多值自定义属性,以便在传统自定义属性不能满足需求时存储邮件收件人的其他信息。 ExtensionCustomAttribute1ExtensionCustomAttribute5 参数最多可以容纳 1,300 个值。 可以将多个值指定为逗号分隔的列表。 以下 cmdlet 支持这些新参数:

有关多值属性的详细信息,请参阅Modifying multivalued properties

自定义属性示例

许多 Exchange 部署中的一个常见方案是为 OU 中的所有收件人创建电子邮件地址策略。 OU 不是可在电子邮件地址策略或地址列表的 RecipientFilter 参数中使用的可筛选属性。

注意

动态通讯组具有一个附加参数,可用于将其限制到特定 OU 或容器中的收件人。

如果特定 OU 中的收件人未共享任何可按其进行筛选的通用属性(例如部门或位置),则可以使用公用值填充其中一个自定义属性,如本示例所示。

Get-Mailbox -OrganizationalUnit Sales | Set-Mailbox -CustomAttribute1 "SalesOU"

完成此操作后,现在可以为 CustomAttribute1 属性等于 SalesOU 的所有收件人创建电子邮件地址策略,如本示例所示。

New-EmailAddressPolicy -Name "Sales" -RecipientFilter "CustomAttribute1 -eq 'SalesOU'" -EnabledEmailAddressTemplates "SMTP:%s%2g@sales.contoso.com"

使用 ConditionalCustomAttributes 参数的自定义属性示例

创建动态通讯组、电子邮件地址策略或地址列表时,无需使用 RecipeintFilter 参数来指定自定义属性。 可以改用 ConditionalCustomAttribute1ConditionalCustomAttribute15 参数。

此示例基于 其 CustomAttribute1 设置为 SalesOU 的收件人创建动态通讯组。

New-DynamicDistributionGroup -Name "Sales Users and Contacts" -IncludedRecipients "MailboxUsers,MailContacts" -ConditionalCustomAttribute1 "SalesOU"

注意

如果使用条件参数,则需要使用 IncludedRecipients 参数。 此外,如果使用 RecipientFilter 参数,则不能使用条件参数。 如果要包含其他筛选器以创建动态通讯组、电子邮件地址策略或地址列表,则应使用 RecipientFilter 参数。

使用 ExtensionCustomAttributes 参数的自定义属性示例

在此示例中,Kweku 的邮箱将更新 ExtensionCustomAttribute1 ,以反映他已注册以下教育课程:MATH307、ECON202 和 ENGL300。

Set-Mailbox -Identity Kweku -ExtensionCustomAttribute1 MATH307,ECON202,ENGL300

接下来,将使用 RecipientFilter 参数(其中 ExtensionCustomAttribute1 等于 MATH307)为所有已注册 MATH307 的学生创建动态通讯组。 使用 ExtentionCustomAttributes 参数时,可以使用 -eq 运算符而不是 -like 运算符。

New-DynamicDistributionGroup -Name Students_MATH307 -RecipientFilter "ExtensionCustomAttribute1 -eq 'MATH307'"

在此示例中,Kweku 的 ExtensionCustomAttribute1 值已更新,以反映他添加了类 ENGL210 并删除了类 ECON202。

Set-Mailbox -Identity Kweku -ExtensionCustomAttribute1 @{Add="ENGL210"; Remove="ECON202"}