发生复制冲突后如何重命名对象

本文介绍如何在发生复制冲突后重命名对象。

适用于: Windows 2000
原始 KB 编号: 297083

摘要

发生复制冲突时,在两个或更多个具有相同 RDN 的不同域控制器上创建的对象可能会重命名 (相对可分辨名称) 在同一容器中。 例如,名称从 CN=APPSRV,OU=域控制器,DC=域,DC=com 更改为以下内容:
CN=APPSRVCNF:b9e0025c-f9b0-48f0-ba7b-a77447716911,OU=域控制器,DC=域,DC=com

许多工具和向导(包括 Active Directory 安装向导)可能无法正常工作,因为对象的新名称长度很长。 因此,在手动解决冲突对象后,最好将名称改回原始名称。

注意

如果冲突中受影响的对象是计算机或域控制器,则冲突发生后,只会更改用于在 Active Directory 中查找对象的 RDN。 计算机名称和在网络上标识计算机的方式不会更改。

更改对象的 RDN 名称

  1. 查找新的 RDN。

    若要获取更改的 RDN,可以使用 LDIFDE 实用工具。 此实用工具可以支持基于 LDIF (LDAP 数据交换格式) 文件格式标准的批处理操作。 可以使用此实用工具将所有信息从 Active Directory 导出到文件。

    例如,如果要将以下信息导出到名为 Bluesky.txt 的文件,请在命令提示符处键入以下命令,然后按 Enter:

    计算机名称:bluesky
    Active Directory 中的位置:OU=Workstations,OU=DELTA,OU=OandM,DC=ad,DC=water,DC=ca,DC=gov
    域控制器:dc1

    ldifde -f c:\bluesky.txt -s dc1 -d  
    "OU=Workstations,OU=DELTA,OU=OandM,DC=ad,DC=water,DC=ca,DC=gov" -r  
    "(&(objectClass=computer)(cn=bluesky*))
    

    运行此命令会将 Active Directory 中的所有信息导出到指定的文件 (Bluesky.txt) 。 在指定的文本文件中,可以找到新的 RDN。

    有关 LDIFDE 实用工具程序的详细信息,请参阅 批量导入和导出到 Active Directory 的分步指南

  2. 在 base 64 中对新的 RDN 进行编码。

    新的 RDN 包含不能在文本字符串中使用的字符;因此,必须使用 Base 64 对 RDN 进行编码。 在 Base 64 中编码以下 RDN 后:

    CN=APPSRVCNF:b9e0025c-f9b0-48f0-ba7b-a77447716911,OU=域控制器,DC=域,DC=com

    结果如下:

    Q049QVBQU1JWQ05GOmI5ZTAwMjVjLWY5YjAtNDhmMC1iYTdiLWE3NzQ0NzcxNjkxMSxPVT1Eb21haW4gQ29udHJvbGxlcnMsREM9ZG9tYWluLERDPW

  3. 重命名已更改的 RDN。 若要重命名已更改的 RDN,请执行以下步骤:

    1. 创建扩展名为 .ldf 的文件。 在 Active Directory 中修改属性时,请务必遵循以下格式:

      用于更改 RDN (changerdn.ldf) 的示例 LDIF 文件
      =================
      #Modify rdn for ##### APPSRV########
      dn:: Q049QVBQU1JWQ05GOmI5ZTAwMjVjLWY5YjAtNDhmMC1iYTdiLWE3NzQ0NzcxNjkxMSxPVT1Eb21haW4gQ29udHJvbGxlcnMsREM9ZG9tYWluLERDPWNvbW==
      changetype:modrdn
      newrdn: cn=APPSRV
      deleteoldrdn: 1

      dn:: 表示 base 64 中的当前 RDN。 (::) 指示 Ldifde 以下字符串是 Base 64 编码的。

      newrdn: 表示对象的新名称。

    2. 在命令提示符下,键入 ldifde -i -f c:\changerdn.ldf -s your server name

      运行此命令会将使用 LDIFDE 实用工具的 RDN 更改为在 LDIF 文件 (Changerdn.ldf) 中指定的新 RDN。

      运行此命令时,可能会收到类似于以下内容的输出:

      连接到“appsrv.domain.com”
      使用 SSPI 以当前用户身份登录
      从文件“changedc.ldf”导入目录
      加载条目
      1:CN=APPSRVCNF:b9e0025c-f9b0-48f0-ba7b-a77447716911,OU=域控制器,DC=域,DC=com
      条目 DN:CN=APPSRVCNF:b9e0025c-f9b0-48f0-ba7b-a77447716911,OU=域控制器,DC=域,DC=com 更改: dn
      重命名为 cn=APPSRV,删除数为 1
      已成功修改条目。
      已成功修改 1 个条目。
      命令已成功完成。

      此过程可以将名称更改回 Appsrv。 此更改是关系更改,因此在 Active Directory 中更改对此对象的所有引用。

更正域控制器对象上的名称时,请确保将名称改回原来的名称。 此更改不会重命名域控制器。 如果重命名域控制器,则 Windows 2000 不支持它。