你目前正处于脱机状态,正在等待 Internet 重新连接

Windows Server 2003 adprep /forestprep 命令导致包含 Exchange 2000 Server 的 Windows 2000 林中出现错位的属性

针对 Windows Server 2003 的支持已于 2015 年 7 月 14 日终止。

Microsoft 已于 2015 年 7 月 14 日终止了对于 Windows Server 2003 的支持。该更改已影响到您的软件更新和安全选项。 了解这一措施对于您的含义以及如何继续保持受保护状态。

概要
Microsoft Exchange 2000 架构定义了三个不符合 Request for Comments (RFC) 的属性:houseIdentifierSecretarylabeledURI。Microsoft Windows 2000 InetOrgPerson 工具包重新定义了 Secretary 属性和 labeledURI 属性。Microsoft Windows Server 2003 中的 adprep /forestprep 命令已重新定义了上述三个属性,详见 Request for Comments (RFC) 2798。

如果 Exchange 2000 在您运行 Windows 2000 InetorgPerson 工具包之前创建了这三个属性,则在 Windows Server 2003 adprep /forestprep 复制添加符合 RFC 的新定义后,houseIdentifier 属性的 LdapDisplayName 属性会出现冲突或“错位”。如果 Exchange 2000 在您运行 Windows Server 2003 adprep /forestprep 命令之前创建了这三个属性,则所有三个属性都会错位。如果 Windows Server 2003 adprep /forestprep 命令在您安装 Exchange 2000 之前创建这些属性,则不会发生这些冲突。
更多信息
当 Windows Server 2003 adprep /forestprep 命令在包含 Exchange 2000 架构的 Windows 2000 林中添加其 InetOrgPerson 属性时,它对于 SecretaryhouseIdentifierlabeledURI 属性的定义会与这些属性的 Exchange 2000 定义冲突。在收到 Windows Server 2003 架构更新的域控制器中,这些属性的 Exchange 2000 定义的 LdapDisplayName 属性会修改,以避免冲突。当 Microsoft Active Directory 目录服务检测到重复的名称时,它会修改其中一个对象的名称,方法是在名称的开头加上“Dup”和一些唯一的字符。此现象称为对象“错位”。

如果您使用 Windows Server 2003 adprep /forestprep 命令来创建 SecretarylabeledURIhouseIdentifier 属性的初始定义,则 Active Directory 林不会出现此错位的显示名称问题。具体说来,以下情况下不会出现错位的 LdapDisplayName 属性:
  • 安装 Exchange 2000 之前,在 Windows 2000 林中运行 Windows Server 2003 adprep /forestprep 命令。
  • 将 Exchange 2000 添加到现有的 Windows 2000 林中。在运行 Windows Server 2003 adprep /forestprep 命令之前,运行 Inetorgpersonfix.ldf 文件。
如果 Exchange 2000 在 Windows 2000 域中创建 SecretaryhouseIdentifierlabeledURI 属性的初始定义,则 Windows 2000 和 Windows Server 2003 林中可能出现错位的属性。在下面的情况中可能会出现这种现象:
  • 您从 InetOrgPerson 工具包添加 InetOrgPerson 类之前,将 InetOrgPerson 类的 Exchange 2000 版本添加到 Windows 2000 林中。
  • 您在运行 Windows Server 2003 adprep /forestprep 命令之前,将 InetOrgPerson 类的 Exchange 2000 版本添加到 Windows 2000 林中。
  • 您在运行 Windows Server 2003 adprep /forestprep 命令之前,添加 Windows 2000 InetOrgPerson 工具包,然后安装 Exchange 2000 架构更改。
  • 在您从 Windows Server 2003 安装介质运行 Inetorgperson-fix.ldf 文件后,包含 InetOrgPerson 的 Exchange 2000 定义的 Windows 2000 域控制器没有收到 Active Directory 的更新。

情况 1:在运行 adprep /forestprep 命令之后添加 Exchange 2000 架构更改

如果在从 Windows Server 2003 中运行 adprep /forestprep 命令后,将 Exchange 2000 架构更改引入到 Windows 2000 林,请查看以下 Microsoft 知识库文章中的“概述:将 Windows 2000 域控制器升级到 Windows Server 2003”一节:
325379 如何将 Windows 2000 域控制器升级到 Windows Server 2003

情况 2:在您运行 Windows Server 2003 adprep /forestprep 命令之前安装了 Exchange 2000 架构更改

如果已经安装了 Exchange 2000 架构更改,但尚未在 Windows Server 2003 中运行 adprep /forestprep 命令,请考虑以下操作计划:
  1. 使用作为架构管理员组和企业管理员组成员的帐户登录到架构操作主机的控制台。
  2. 启用架构主机上的架构更新。 有关如何允许对 Active Directory 架构进行更新的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
    285172架构更新需要 Active Directory 中的架构的写权限
  3. 单击开始,再单击“运行”,键入 notepad.exe,然后单击“确定”。
  4. 复制下面的 [start copy here][end copy here] 之间显示的文本(包括结尾的“-”字符),然后将此文本粘贴到记事本中。

    [start copy here]
    dn:CN=ms-Exch-Assistant-Name,CN=Schema,CN=Configuration,DC=X
    changetype:Modify
    replace:lDAPDisplayName
    lDAPDisplayName:msExchAssistantName
    -

    dn:CN=ms-Exch-LabeledURI,CN=Schema,CN=Configuration,DC=X
    changetype:Modify
    replace:lDAPDisplayName
    lDAPDisplayName:msExchLabeledURI
    -

    dn:CN=ms-Exch-House-Identifier,CN=Schema,CN=Configuration,DC=X
    changetype:Modify
    replace:lDAPDisplayName
    lDAPDisplayName:msExchHouseIdentifier
    -

    dn:
    changetype:Modify
    add:schemaUpdateNow
    schemaUpdateNow: 1
    -
    [end copy here]
  5. 将记事本文件的内容另存为 %systemdrive%\IOP\Inetorgpersonprevent.ldf(其中 %systemdrive% 是承载 Windows 2000 操作系统的逻辑驱动器,\IOP 是您在记事本的“保存”对话框中创建的文件夹)。退出记事本。
  6. 运行 InetOrgPersonPrevent.ldf 脚本:
    1. 单击“开始”,单击“运行”,键入 cmd,然后单击“确定”。
    2. 在命令提示符处,键入:
      cd %systemdrive%\iop
      然后按 Enter 键。
    3. 键入下面的命令:
      ldifde -i -f inetorgpersonprevent.ldf -v -c DC=X "dn path for forest root domain"
      其中 X 是区分大小写的常量,dn path for forest root domain 是包含在引号中的林的根域的域名路径,("dc=corp,dc=tailspintoys,dc=com") 是林的根域的域名路径。(包括引号。)按 Enter 键。
  7. 在运行 Windows Server 2003 adprep /forestprep 命令之前,验证架构命名上下文中的 CN=ms-Exch-Assistant-NameCN=ms-Exch-LabeledURICN=ms-Exch-House-Identifier 属性的 LDAPDisplayname 现在分别显示为 msExchAssistantNamemsExchLabeledURImsExchHouseIdentifier
  8. 运行 adprep /forestprep 命令和 /domainprep 命令。

    有关更多信息,请参阅以下 Microsoft 知识库文章中的“概述:将 Windows 2000 域控制器升级到 Windows Server 2003”一节:
    325379 如何将 Windows 2000 域控制器升级到 Windows Server 2003

情况 3:在运行 Windows Server 2003 adprep /forestprep 命令之前未运行 InetOrgPersonfix

如果在包含 Exchange 2000 架构更改的 Windows 2000 林中运行 Windows Server 2003 adprep /forestprep 命令,则 houseIdentierSecretarylabeledURI LdapDisplayname 属性会错位。要识别错位的名称,请使用 Ldp.exe 查找受影响的属性:
  1. 从 Windows 2000 或 Windows Server 2003 介质的 Support\Tools 文件夹安装 Ldp.exe。
  2. 从林中的域控制器或成员计算机启动 Ldp.exe。
    1. 连接菜单上,单击连接,将服务器框留空,在端口框中键入 389,然后单击确定
    2. 连接菜单上,单击绑定,将所有框留空,然后单击确定
  3. 记下 SchemaNamingContext 属性的可分辨名称路径。

    例如,对于 CORP.ADATUM.COM 林中的域控制器,可分辨名称路径将是 CN=Schema,CN=Configuration,DC=corp,DC=adatum,DC=com。
  4. 浏览菜单上,单击搜索
  5. 配置以下设置:
    • 基位置 DN:键入在步骤 3 中标识的架构名称上下文的可分辨名称路径。
    • 筛选器:键入 (ldapdisplayname=dup*)
    • 作用域:单击“子树”。
  6. 错位的 HouseIdentifier、Secretary 和 LabeledURI 属性的 LDAPDisplayName 属性类似以下格式:
    lDAPDisplayName:DUP-labeledURI-9591bbd3-d2a6-4669-afda-48af7c35507d;
    lDAPDisplayName:DUP-secretary-c5a1240d-70c0-455c-9906-a4070602f85f
    lDAPDisplayName:DUP-houseIdentifier-354b0ca8-9b6c-4722-aae7-e66906cc9eef
    如果 LabeledURI、Secretary 和 HouseIdentifier 的 LDAP 显示名称错位,请运行 Windows Server 2003 InetOrgPersonfix.ldf 脚本以进行恢复:
    1. 创建一个名为 %Systemdrive%\IOP 的文件夹,然后将 InetOrgPersonfix.ldf 文件解压缩到此文件夹中。
    2. 在命令提示符处,键入 cd %systemdrive%\iop,然后按 Enter 键。
    3. 从位于 Windows Server 2003 安装介质的 Support\Tools 文件夹中的 Support.cab 文件解压缩 InetOrgPersonfix.ldf 文件。
    4. 从架构操作主机的控制台,使用 Ldifde.exe 加载 InetOrgPersonfix.ldf 文件,以更正 houseIdentifierSecretarylabeledURI 属性的 LdapDisplayName 属性。为此,请键入以下命令(其中 X 是区分大小写的常量,dn path for forest root domain 是包含在引号中的林的根域的域名路径):
      ldifde -i -f inetorgpersonfix.ldf -v -c DC=X "dn path for forest root domain"
  7. 验证架构命名上下文中的 houseIdentifierSecretarylabeledURI 属性没有发生错位。
  8. 使用 Winnnt32.exe 升级 Windows 2000 域控制器。

    有关如何使用 Winnt32.exe 升级 Windows 2000 域控制器的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
    325379如何将 Windows 2000 域控制器升级到 Windows Server 2003

InetOrgPerson 属性错位时 Exchange 2000 Server 遇到错误

当您在包含多个域控制器的域中安装或升级 Exchange 2000 Server 计算机时,在安装 /forestprep 过程中会收到以下错误信息:

Setup failed while installing subcomponent Microsoft Windows Active Directory schema update with error code 0xC1037AE6 (please consult the installation logs for a detailed description).You may cancel the installation or try the failed step again
安装日志可能包含以下错误信息:
[14:07:16] ScRunLDIFScript (k:\admin\src\libs\exsetup\exmisc.cxx:1333)Error code 0XC1037AE6 (31462): Extending the schema in the Active Directory failed. Please consult the error log LDIF.ERR in your TEMP directory.
出现此问题的原因是存在 InetOrgPerson 冲突。按照本文的情况 3 中所述运行 Inetorgpersonfix.ldf 文件。
属性

文章 ID:314649 - 上次审阅时间:05/16/2011 13:10:00 - 修订版本: 10.0

Microsoft Windows Server 2003 Standard Edition, Microsoft Windows Server 2003 Enterprise Edition, Microsoft Windows Server 2003 Datacenter Edition, Microsoft Windows 2000 Server, Microsoft Windows 2000 Advanced Server, Microsoft Exchange 2000 Server 标准版

  • kbenv kbinfo KB314649
反馈
var m=document.createElement('meta');m.name='ms.dqp0';m.content='true';document.getElementsByTagName('head')[0].appendChild(m);" onload="var m=document.createElement('meta');m.name='ms.dqp0';m.content='false';document.getElementsByTagName('head')[0].appendChild(m);" src="http://c1.microsoft.com/c.gif?">