如何在發生複製衝突之後重新命名物件

本文說明如何在發生複製衝突之後重新命名物件。

原始產品版本:   Windows 2000
原始 KB 編號:   297083

摘要

當發生複寫衝突時,在兩個或多個不同的網域控制站上使用相同的 RDN (相對辨識名稱) 中所建立的物件,可能會重新命名。 例如,名稱會從 CN = 登入 CONTOSO-APPSRV,OU = Domain DC=domain,DC=com 變更為下列專案:
CN = APPSRVCNF: b9e0025c-f9b0-48f0-ba7b-a77447716911,OU = Domain 控制器,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 = 工作站,OU = DELTA,OU = OandM,DC = ad,DC = 水,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 中的所有資訊匯出至指定的檔案 ( # A0) 。 您可以從指定的文字檔中,找到新的 RDN。

    如需有關 LDIFDE 實用程式的詳細資訊,請參閱 大量匯入及匯出至 Active Directory 的逐步指南

  2. 在基底64中編碼新的 RDN。

    新的 RDN 包含您無法在文字字串中使用的字元;因此,您必須使用基底64來編碼 RDN。 在基底64中編碼下列 RDN 之後:

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

    結果會是下列各項:

    Q049QVBQU1JWQ05GOmI5ZTAwMjVjLWY5YjAtNDhmMC1iYTdiLWE3NzQ0NzcxNjkxMSxPVT1Eb21haW4gQ29udHJvbGxlcnMsREM9ZG9tYWluLERDPW

  3. 重新命名已變更的 RDN。 若要重新命名變更的 RDN,請遵循下列步驟:

    1. 建立副檔名為 .ldf 的檔案。 當您修改 Active Directory 中的屬性時,請務必遵循下列格式:

      用於變更 RDN 的範例 LDIF 檔案 (changerdn)
      =================
      #修改 # # # # # 登入 CONTOSO-APPSRV 的 rdn ########
      dn:: Q049QVBQU1JWQ05GOmI5ZTAwMjVjLWY5YjAtNDhmMC1iYTdiLWE3NzQ0NzcxNjkxMSxPVT1Eb21haW4gQ29udHJvbGxlcnMsREM9ZG9tYWluLERDPWNvbW = =
      changetype:modrdn
      newrdn: cn = 登入 CONTOSO-APPSRV
      deleteoldrdn:1

      dn:: 代表在基底64中的目前 RDN。 (:: ) 會指示 Ldifde,下列字串是基底64編碼。

      newrdn: 代表物件的新名稱。

    2. 在命令提示字元下輸入 ldifde -i -f c:\changerdn.ldf -s your server name

      執行此命令時,會使用 LDIFDE 公用程式,將 RDN 變更為您在 LDIF 檔案 (Changerdn) 中指定的新 RDN。

      當您執行此命令時,可能會收到與下列類似的輸出:

      連接至 "appsrv.domain.com"
      使用 SSPI 以目前使用者的身分登入
      從檔案 "changedc" 匯入目錄
      載入專案
      1: CN = APPSRVCNF: b9e0025c-f9b0-48f0-ba7b-a77447716911,OU = Domain 控制器,DC=domain,DC=com
      專案 DN: CN = APPSRVCNF: b9e0025c-f9b0-48f0-ba7b-a77447716911,OU = Domain DC=domain,DC=com change: DN
      使用 deleteold 1 重新命名為 cn = 登入 CONTOSO-APPSRV
      已成功修改專案。
      已成功修改1個專案。
      命令已成功完成。

      此程式可將名稱變更回登入 contoso-appsrv。 這項變更是關聯式的,所以在 Active Directory 中變更所有此物件的參照。

當您修正網域控制站的物件上的名稱時,請確定您將名稱變更回原來的名稱。 這種變更不會重新命名網域控制站。 如果您重新命名網域控制站,Windows 2000 不支援此功能。