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

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

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

摘要

发生复制冲突时,可能会重命名在两个或多个使用相同 RDN (相对可分辨名称) 且位于同一容器中的不同域控制器上创建的对象。 例如,名称从 CN=APPSRV,OU=Domain Controllers,DC=domain,DC=com 更改为以下内容:
CN=APPSRVCNF:b9e0025c-f9b0-48f0-ba7b-a77447716911,OU=Domain Controllers,DC=domain,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=Domain Controllers,DC=domain,DC=com

    结果将如下所示:

    Q049QVBQU1JWQ05GOmI5ZT使用MjVjLWY5YAtNDhmMC1iYTdiLWE3NzQ0NzcxNjkxMSxPVT1Eb21haW4gQ29udHJvbGxlcnMsREM9ZG9tYWluLERDPW

  3. 重命名已更改的 RDN。 若要重命名已更改的 RDN,请按照以下步骤操作:

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

      更改 RDN 版本的示例 LDIF 文件 (changerdn.ldf)
      =================
      #修改 ##### APPSRV 的 rdn ########
      dn:: Q049QVBQU1JWQ05GOmI5ZT操作区MjVjLWY5YjAtNDhmMC1iYTdiLWE3NzQ0NzcxNjkxMSxPVT1Eb21haW4gQ29udHJvbGxlcnMsREM9ZG9tYWluLERDPWNvbW==
      changetype:modrdn
      newrdn: cn=APPSRV
      deleteoldrdn: 1

      dn:: 表示 base 64 中的当前 RDN。 The (::) instructs Ldifde that the following string is Base 64 encoded.

      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=domain,DC=com
      条目 DN:CN=APPSRVCNF:b9e0025c-f9b0-48f0-ba7b-a77447716911,OU=域控制器,DC=domain,DC=com change: dn
      重命名为已删除 1 的 cn=APPSRV
      条目修改成功。
      1 个条目已成功修改。
      命令已成功完成。

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

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