将自定义 LDAP 筛选器升级到 OPATH 筛选器

 

适用于: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1

上一次修改主题: 2008-04-16

在 Microsoft Exchange Server 2003 及更低版本中,使用轻型目录访问协议 (LDAP) 筛选语法来创建自定义地址列表、全局地址列表 (GAL)、电子邮件地址策略和通讯组。在 Exchange Server 2007 中,新的 OPATH 筛选语法替代了 LDAP 筛选语法。通过使用 -RecipientFilter 参数,可以在 Exchange 命令行管理程序命令中便用 OPATH 筛选语法直接创建筛选器。

note注意:
Exchange 2007 支持 LDAP 语法筛选器,并且该筛选器仅存在于已从 Exchange 2003 或更早版本迁移的对象。如果要从 Exchange 2007 服务器编辑 LDAP 筛选器,则必须将这些 LDAP 筛选器升级到 OPATH 语法。例如,如果在您的组织中有 Exchange 2003 和 Exchange 2007 服务器,则可以从 Exchange 2003 服务器管理 LDAP 语法筛选器。但是,不能在 Exchange 2007 中管理或创建 LDAP 语法筛选器。

有关如何使用脚本将 LDAP 筛选器转换到 OPATH 语法的信息,请参阅 Microsoft Exchange 团队博客文章需要将 LDAP 筛选器转换到 OPATH 吗?

note注意:
每篇博客的内容及其 URL 都可能随时更改,恕不另行通知。每篇博客中的内容均“原样”提供,没有任何保证,并且不授予任何权利。对所包括的脚本示例的使用受在 Microsoft 使用条款中指定的条款约束。
important要点:
在 Exchange 2000 Server 和 Exchange 2003 中,可以创建自定义 Active Directory 扩展属性。但是,在 Exchange 2007 中,不能将自定义扩展属性用作可筛选属性。如果您的组织有自定义扩展属性,我们建议您使用由 Exchange 2007 为每个收件人提供的 15 个自定义属性。但是,如果自定义属性不能满足组织需求,则建议您不要升级那些使用自定义扩展属性的对象。

有关在收件人命令中创建筛选器的详细信息,请参阅在收件人命令中创建筛选器

确定需要升级的对象

在升级 Exchange 对象之前,必须首先确定需要升级的对象。可能需要升级的筛选器有两种类型:

  • 默认对象   默认对象是在安装 Exchange 时创建的默认电子邮件地址策略和地址列表。

  • 自定义对象   自定义对象是 Exchange 管理员在 Exchange 2003 或更低版本中创建的自定义 LDAP 筛选器。

若要确定需要升级的对象,可以使用 Exchange 管理控制台或 Exchange 命令行管理程序进行升级。

使用 Exchange 管理控制台

若要使用 Exchange 管理控制台确定需要升级的对象,必须使用该对象的编辑向导来编辑此对象。

例如,如果要确定电子邮件地址策略是否已升级,则应从结果窗格中选择电子邮件地址策略,然后在操作窗格中单击“编辑”,以打开编辑电子邮件地址策略向导。如果电子邮件地址策略是在 Exchange 2003 中创建的,并且筛选语法尚未升级到 OPATH,则显示以下错误。

电子邮件地址策略筛选器升级错误

该错误表示电子邮件地址策略的筛选语法是在 Exchange 2003 或更低版本中创建,可能需要升级。有关如何升级筛选语法的信息,请参阅该主题后面的“升级默认对象”和“升级自定义对象”。

使用 Exchange 命令行管理程序

若要使用 Exchange 命令行管理程序确定需要升级的对象,可以使用关联的 Get- cmdlet,并格式化列表以查看 Exchange 的收件人筛选器和版本。

例如,要确定需要升级的电子邮件地址策略,请运行以下命令:

Get-EmailAddressPolicy | Format-List Name, *RecipientFilter*, ExchangeVersion

运行该命令之后,将在 Exchange 命令行管理程序中显示以下信息。

从 EMS 返回的信息

在该示例中,Get-EmailAddressPolicy cmdlet 返回两个电子邮件地址策略。以蓝色突出显示的“默认策略”是需要升级的 Exchange 2003 对象。以红色突出显示的“资源邮箱”是在 Exchange 2007 中创建的,或已经升级。

如果对以下任何问题的回答为“是”,则该对象尚未升级:

  • RecipientFilter 属性是否为空?

  • RecipientFilterType 属性的值是否等于“Legacy”?

  • ExchangeVersion 属性的值是否等于“0.0 (6.5.6200.0)”?

升级默认对象

安装 Exchange 2003 时,将创建默认电子邮件地址策略和多个默认地址列表。如果必须在 Exchange 2007 中更改筛选器,或如果需要在 Exchange 2007 中管理对象,则下表包括需要升级的默认对象:

  • **电子邮件地址策略:**默认策略

  • **地址列表:**所有联系人、所有组、所有会议室、所有用户、默认全局地址列表、公用文件夹

因为默认对象有已知的筛选器,所以可以轻松升级这些默认对象。有关如何升级默认对象的详细说明,请参阅以下主题:

note注意:
-ForceUpgrade 参数不为对象构造替代收件人筛选器,也不升级对象。-ForceUpgrade 参数不显示确认问题,以便您可以使用无人参与脚本执行升级。

升级自定义对象

因为升级自定义对象需要确定自定义 LDAP 筛选器所筛选的对象,然后将筛选器转换成 OPATH 语法,所以升级自定义对象更困难。可以为以下 Exchange 对象创建自定义 LDAP 筛选器:

  • 地址列表

  • 电子邮件地址策略

  • 动态通讯组

可用于升级自定义对象的方法有两个:

  • 使用 Microsoft Exchange 团队提供的脚本。有关该脚本的信息,请参阅 Microsoft Exchange 团队博客文章需要帮助将 LDAP 筛选器转换到 OPATH 吗?

    note注意:
    每篇博客的内容及其 URL 都可能随时更改,恕不另行通知。每篇博客中的内容均“原样”提供,没有任何保证,并且不授予任何权利。对所包括的脚本示例的使用受在 Microsoft 使用条款中指定的条款约束。
  • 按以下几部分的描述将 LDAP 筛选器手动升级到 OPATH。

步骤 1:确定自定义 LDAP 筛选器的功能

若要将 Exchange 2003 LDAP 筛选器升级到 Exchange 2007 OPATH 语法,必须首先确定 LDAP 筛选器正在筛选的内容。请执行下列步骤:

  1. 将现有筛选器复制到文本编辑应用程序(比如记事本)中。

    important要点:
    在开始之前,记录现有 LDAP 筛选器。

    以下是用于电子邮件地址策略的 LDAP 筛选器示例:

    (&(&(|(&(&(objectCategory=user)(msExchangeHomeServerName=/o=ORG/ou=SITE/cn=Configuration/cn=Servers/cn*)))(&(|(objectCategory=group)(objectCategory=msExchangeDynamicDistributionList))(displayName=IT*)))))
    
  2. 在记事本中,使筛选器行缩进,以便查看逻辑流(如下图所示)。

    包含筛选器的记事本

  3. 编写用于解释筛选器功能的语句。在该示例中,电子邮件地址策略的筛选器包括以下对象:

    • 在特定管理组中有主服务器的所有用户类别对象

    • 以特定显示名开头的所有组或动态通讯组列表

步骤 2:将 LDAP 筛选器转换成 OPATH 语法

在确定 LDAP 筛选器的功能之后,必须将 LDAP 筛选器转换成 OPATH 语法。

note注意:
在 Exchange 2007 中,很多属性的名称已经更改。例如,LDAP 属性“mailNickname”在Exchange 2007 中称为“Alias”。若要查看属性名称的完整列表,请参阅以下主题:

基于在本主题前面的步骤 3“确定自定义 LDAP 筛选器的功能”部分记录的语句,创建收件人筛选器。

  1. (ServerLegacyDN -like "/o=ORG/ou=SITE/cn=Configuration/cn=Servers/cn=*")

  2. ((RecipientType -eq "<group recipient type>" -or RecipientType -eq "DynamicDistributionGroup") -and (DisplayName -like "IT"))

  • 最后,使用适合的 Set cmdlet 构造命令,然后在 Exchange 命令行管理程序中运行该命令。
Set-EmailAddressPolicy eap1 -RecipientFilter {(ServerLegacyDN -like "/o=ORG/ou=SITE/cn=Configuration/cn=Servers/cn=*") -and ((RecipientType -eq "<group recipient type>" -or RecipientType -eq "DynamicDistributionGroup") -and (DisplayName -like "IT"))}
note注意:
-RecipientFilter 参数的许多属性都接受通配符。如果使用通配符,则不要使用 -eq 运算符,而改用 -like 运算符。-like 运算符用于查找字符串中的模式匹配项,而 -eq 运算符用于查找完全匹配项。

详细信息

若要了解 OPATH 筛选语法的详细信息,请参阅在收件人命令中创建筛选器