重新導向 Active Directory 網域中的用戶和計算機容器

您可以使用 redirusr 和 redircmp 來重新導向舊版 API 所建立的使用者、計算機和組帳戶。 因此,它們會放在系統管理員指定的組織單位 (OU) 容器中。

適用於:Windows Server 2016、Windows Server 2012 R2
原始 KB 編號: 324949

摘要

在 Active Directory 網域的預設安裝中,使用者、計算機和組帳戶會放在 CN=objectclass 容器中,而不是更理想的 OU 類別容器。 同樣地,使用舊版 API 建立的帳戶會放在 CN=Users 和 CN=computers 容器中。

重要事項

某些應用程式需要特定的安全性主體位於預設容器中,例如 CN=Users 或 CN=Computers。 請先確認您的應用程式具有這類相依性,再將其移出 CN=users 和 CN=computes 容器。

其他相關資訊

舊版 API 所建立的使用者、計算機和群組,會將物件放在 WellKnownObjects 屬性中指定的 DN 路徑中。 WellKnownObjects 屬性位於網域 NC 標頭中。 下列程式代碼範例顯示來自 CONTOSO.COM 網域 NC 標頭之 WellKnownObjects 屬性中的相關路徑。

Dn:DC=CONTOSO,DC=COM

wellKnownObjects (11):
B:32:6227F0AF1FC2410D8E3BB10615BB5B0F:CN=NTDS Quotas,DC=CONTOSO,DC=COM;
B:32:F4BE92A4C777485E878E9421D53087DB:CN=Microsoft,CN=Program Data,DC=CONTOSO,DC=COM;
B:32:09460C08AE1E4A4EA0F64AEE7DAA1E5A:CN=Program Data,DC=CONTOSO,DC=COM;
B:32:22B70C67D56E4EFB91E9300FCA3DC1AA:CN=ForeignSecurityPrincipals,DC=CONTOSO,DC=COM;
B:32:18E2EA80684F11D2B9AA00C04F79F805:CN=Deleted Objects,DC=CONTOSO,DC=COM;
B:32:2FBAC1870ADE11D297C400C04FD8D5CD:CN=Infrastructure,DC=CONTOSO,DC=COM;
B:32:AB8153B7768811D1ADED00C04FD8D5CD:CN=LostAndFound,DC=CONTOSO,DC=COM;
B:32:AB1D30F3768811D1ADED00C04FD8D5CD:CN=System,DC=CONTOSO,DC=COM;
B:32:A361B2FFFFD211D1AA4B00C04FD7D83A:OU=Domain Controllers,DC=CONTOSO,DC=COM;
B:32:AA312825768811D1ADED00C04FD8D5CD:CN=Computers,DC=CONTOSO,DC=COM;
B:32:A9D1CA15768811D1ADED00C04FD8D5CD:CN=Users,DC=GPN,DC=COM;

例如,下列作業使用舊版 API,其依賴 WellKnownObjects 屬性中定義的路徑:

  • 網域加入UI
  • NET 電腦
  • NET GROUP
  • NET 使用者
  • NETDOM ADD,其中 /ou 未指定或支援命令

將使用者、計算機和安全組的預設容器設為 OU 會很有説明,原因包括:

  • 組策略可以套用至 OU 容器,但不能套用在預設放置安全性主體的 CN 類別容器上。

  • 最佳做法是將安全性主體排列成 OU 階層,以鏡像您的組織結構、地理配置或系統管理模型。

如果您要重新導向 CN=Users 和 CN=Computers 資料夾,請注意下列問題:

  • 目標網域必須設定為在 Windows Server 2003 網域功能等級或更高版本中執行。 針對 Windows Server 2003 網域功能等級,這表示:

    • Windows Server 2003 ADPREP /FORESTPREP 或更新版本
    • Windows Server 2003 ADPREP /DOMAINPREP 或更新版本
    • 目標網域中的所有域控制器都必須執行 Windows Server 2003 或更新版本。
    • 必須啟用 Windows Server 2003 網域功能等級或更高等級。
  • 不同於 CN=USERS 和 CN=COMPUTERS,OU 容器可能會遭到特殊許可權用戶帳戶意外刪除,包括系統管理員。

    CN=USERS 和 CN=COMPUTERS 容器是系統保護的物件,為了回溯相容性而無法移除。 但是可以重新命名它們。 組織單位可能會遭到系統管理員意外刪除樹狀結構。

    Windows Server 2008 和較新版本的 Active Directory 使用者和電腦 嵌入式管理單元功能[防止意外刪除保護物件] 複選框,您可以在建立新的 OU 容器時選取此複選框。 您也可以在現有 OU 容器的 [屬性] 對話框的 [物件] 索引標籤上選取它。

  • 重新導向 CN=USERS 會影響新使用者、群組和信任用戶帳戶的預設位置。 信任用戶帳戶在大部分的UI系統管理工具中都會隱藏,但您可以在LDIFDE和}的工具中顯示並移動它們。 帳戶的 CN 是 <舊版功能變數名稱>$,例如 “contoso$”。

  • 如果您遇到 Exchange Server Active Directory 準備失敗,請確定您執行的是最新的累積更新和安全性更新。

將 CN=Users 重新導向至系統管理員指定的 OU

  1. 在重新導向 CN=Users 容器的網域中,使用網域系統管理員認證登入。

  2. 將網域轉換為 Windows Server 2003 網域功能等級,或在 Active Directory 使用者和電腦 嵌入式管理單元 (Dsa.msc) 或網域與信任 (Domains.msc) 嵌入式管理單元中更新。 如需增加網域功能等級的詳細資訊,請參閱 如何提高網域和樹系功能等級

  3. 如果您想要的 OU 容器不存在,請建立 OU 容器,讓使用舊版 API 建立的使用者和群組都位於其中。

  4. 使用 列語法,在命令提示字元中執行Redirusr.exe。 在 命令中, container-dn 是 OU 的辨別名稱,將成為新建立的使用者和由下層 API 所建立之群組對象的預設位置:

    c:\windows\system32\redirusr container-dn
    

    Redirusr 會安裝在 %SystemRoot%\System32 Windows Server 2003 或更新版本電腦上的資料夾中。 例如,若要將使用 Net User 等下層 API 建立之用戶的預設位置變更為網域中的 CONTOSO.COM OU=MYUsers OU 容器,請使用下列語法:

    c:\windows\system32>redirusr ou=myusers,DC=contoso,dc=com

    注意事項

    執行 Redirusr.exe 將 CN=Users 容器重新導向至系統管理員所指定的 OU 時,CN=Users 容器將不再是受保護的物件。 這表示現在可以移動、刪除或重新命名Users容器。 如果您使用 ADSIEDIT 來檢視 CN=Users 容器上的屬性,您會看到 systemflags 屬性已從 -1946157056 變更為 0。 這是原本設計的做法。

    若要刪除容器,您必須將預設使用者和群組移出至其他 OU 和容器,以及信任的用戶帳戶。 這些信任帳戶可以使用 LDIFDE 和對應等工具來顯示和移動。 為了保持一致性,建議您將容器維持不變,並保留默認帳戶。

將 CN=Computers 重新導向至系統管理員指定的 OU

  1. 在重新導向 CN=computers 容器的網域中,使用網域系統管理員認證登入。

  2. 將網域轉換為 Active Directory 使用者和電腦 嵌入式管理單元中的 Windows Server 2003 網域 (Dsa.msc) 或在網域和信任 (Domains.msc) 嵌入式管理單元中。 如需增加網域功能等級的詳細資訊,請參閱 如何提高網域和樹系功能等級

  3. 如果所需的 OU 容器不存在,請建立您想要使用舊版 API 建立的電腦所在的 OU 容器。

  4. 使用 列語法,在命令提示字元中執行Redircmp.exe。 在 命令中, container-dn 是 OU 的辨別名稱,將成為由下層 API 所建立之新建立計算機對象的預設位置:

    redircmp container-dn
    

    Redircmp.exe 安裝在 %Systemroot%\System32 Windows Server 2003 或更新版本的資料夾中。 若要將使用舊版 API 所建立之計算機的預設位置,例如 Net Computer,變更為 CONTOSO.COM 網域中的 OU=MyComputers 容器,請使用下列語法:

    C:\windows\system32>redircmp ou=mycomputers,DC=contoso,dc=com
    

    注意事項

    執行 Redircmp.exe 將 CN=Computers 容器重新導向至系統管理員所指定的 OU 時,CN=Computers 容器將不再是受保護的物件。 這表示計算機容器現在可以移動、刪除或重新命名。 如果您使用 ADSIEDIT 來檢視 CN=Computers 容器上的屬性,您會看到 systemflags 屬性已從 -1946157056 變更為 0。 這是原本設計的做法。

錯誤訊息的描述

以下是在某些情況下發生的錯誤訊息。

PDC 離線時收到的錯誤訊息

Redircmp 和 Redirusr 會變更主域控制器上的 wellKnownObjects 屬性, (PDC) 。 如果正在變更之網域的 PDC 離線或無法存取,您會收到下列錯誤訊息。

  • 錯誤訊息 1:

    C:>redirusr OU=userOU,DC=udc,dc=jkcertcontoso,dc=loc com

    錯誤,找不到目前網域的主域控制器:指定的網域不存在或無法連絡。 重新導向未成功。

  • 錯誤訊息 2:

    C:>redircmp OU=computerOU,DC=contoso,dc=com DC=udc,dc=jkcert,dc=loc

    錯誤,找不到目前網域的主域控制器:指定的網域不存在或無法連絡。 重新導向未成功。

如果網域功能等級不是 Windows Server 2003,您會收到錯誤訊息

您嘗試在尚未轉換至 Windows Server 2003 網域功能等級的網域中重新導向使用者或電腦 OU。 在這裡情況下,您會收到下列錯誤訊息:

  • 錯誤訊息 1:

    C:>redirusr OU=usersou,DC=contoso,dc=comDC=company,DC=com

    錯誤,無法修改 wellKnownObjects 屬性。 確認網域的網域功能等級至少為 Windows Server 2003:不想執行重新導向未成功。

  • 錯誤訊息 2:

    C:>redircmp ou=computersou,DC=contoso,dc=comdc=company,dc=com

    錯誤,無法修改 wellKnownObjects 屬性。 確認網域的網域功能等級至少為 Windows Server 2003:要執行的物件

如果您在未具備必要許可權的情況下登入,就會收到錯誤訊息

如果您嘗試在目標網域中使用不正確的認證來重新導向使用者或計算機 OU,您可能會收到下列錯誤訊息:

  • 錯誤訊息 1

    C:>redircmp OU=computersou,DC=contoso,dc=comDC=company,DC=com

    錯誤,無法修改 wellKnownObjects 屬性。 確認網域的網域功能等級至少為 Windows Server 2003:版權重新導向不足未成功。

  • 錯誤訊息 2:

    C:>redirusr OU=usersou,DC=contoso,dc=comDC=company,DC=com

    錯誤,無法修改 wellKnownObjects 屬性。 確認網域的網域功能等級至少為 Windows Server 2003:版權重新導向不足未成功。

如果您重新導向至不存在的 OU,您會收到錯誤訊息

您嘗試將使用者或電腦 OU 重新導向至不存在的 OU。 在這裡情況下,您可能會收到下列錯誤訊息:

  • 錯誤訊息 1:

    C:>redircmp OU=nonexistantou,DC=contoso,dc=com dc=rendom,dc=com

    錯誤,無法修改 wellKnownObjects 屬性。 確認網域的網域功能等級至少為 Windows Server 2003:沒有這類物件重新導向未成功。

  • 錯誤訊息 2:

    C:>redirusr OU=nonexistantou,DC=contoso,dc=com DC=company,DC=com

    錯誤,無法修改 wellKnownObjects 屬性。 確認網域的網域功能等級至少為 Windows Server 2003:沒有這類物件重新導向未成功。

重新導向 CN=Users 時,您在 Exchange Server 2000 安裝 /domainprep 中收到的錯誤訊息

如果 Exchange Server 2000 和 Exchange Server 2003 setup /domainprep 失敗,您會收到下列錯誤訊息:

安裝子元件網域層級許可權時安裝失敗,錯誤碼0x80072030) (请参阅安装记录以取得详细的描述) 。 您可以取消安裝,或再試一次失敗的步驟。 (重試/取消)

下列數據會出現在使用記錄剖析器剖析的 Exchange Server 2000 安裝程式記錄檔中。 Exchange Server 2003 應該很類似。

[HH:MM:SS] Completed DomainPrep of Microsoft Exchange 2000 component
[HH:MM:SS] ScGetExchangeServerGroups (K:\admin\src\libs\exsetup\dsmisc.cxx:301) Error code 0X80072030 (8240): There is no such object on the server.
[HH:MM:SS] ScCreateExchangeServerGroups (K:\admin\src\libs\exsetup\dsmisc.cxx:373) Error code 0X80072030 (8240): There is no such object on the server.
[HH:MM:SS] CAtomPermissions::ScAddDSObjects (K:\admin\src\udog\exsetdata\components\domprep\a_permissions.cxx:144) Error code 0X80072030 (8240): There is no such object on the server.
[HH:MM:SS] mode = 'DomainPrep' (61966) CBaseAtom::ScSetup (K:\admin\src\udog\setupbase\basecomp\baseatom.cxx:775) Error code 0X80072030 (8240): There is no such object on the server.
[HH:MM:SS] Setup encountered an error during Microsoft Exchange Domain Preparation of DomainPrep component task. CBaseComponent::ScSetup (K:\admin\src\udog\setupbase\basecomp\basecomp.cxx:1031) Error code 0X80072030 (8240): There is no such object on the server.
[HH:MM:SS] CBaseComponent::ScSetup (K:\admin\src\udog\setupbase\basecomp\basecomp.cxx:1099) Error code 0X80072030 (8240): There is no such object on the server.
[HH:MM:SS] CCompDomainPrep::ScSetup (K:\admin\src\udog\exsetdata\components\domprep\compdomprep.cxx:502) Error code 0X80072030 (8240): There is no such object on the server.
[HH:MM:SS] CComExchSetupComponent::Install (K:\admin\src\udog\BO\comboifaces.cxx:694) Error code 0X80072030 (8240): There is no such object on the server.
[HH:MM:SS] Setup completed