在 Active Directory 網域服務中轉移或佔用 FSMO 角色

本文說明如何以及如何在 (FSMO) 角色中轉移或抓住彈性單一主作業。

原始產品版本:   Windows Server 2019,Windows Server Standard 2016,Windows Server Essentials 2016,Windows Server Datacenter 2016
原始 KB 編號:   255504

詳細資訊

在 Active Directory 網域服務 (AD DS) 樹系中,只有一個網域控制站 (DC) 才能執行特定工作。 指派以執行這些唯一作業的 Dc 稱為「FSMO 角色擁有者」。 下表列出 FSMO 角色,以及它們在 Active Directory 中的位置。

角色 範圍 命名內容 (Active Directory 分割)
架構主機 全樹系 CN = Schema,CN = configuration,DC =<forest root domain>
網網域命名主機 全樹系 CN = configuration,DC =<forest root domain>
RID 主機 全域 DC =<domain>
PDC 模擬程式 全域 DC =<domain>
基礎結構主機 全域 DC =<domain>

如需有關如何放置角色的 FSMO 角色擔任者和建議的詳細資訊,請參閱 Active Directory 網域控制站上的 FSMO 位置和優化

注意

包含 DNS 應用程式磁碟分割的 Active Directory 應用程式磁碟分割具有 FSMO 角色連結。 如果 DNS 應用程式分割區定義了基礎結構主機角色的擁有者,您就無法使用 Ntdsutil、DCPromo 或其他工具來移除該應用程式分割區。 如需詳細資訊,請參閱 DCPROMO 降級會失敗,如果無法與 DNS 基礎結構主機取得聯繫

當已經擔當角色持有者的 DC 開始執行 (例如,在失敗或關機) 之後,它不會立即以角色擁有者的方式繼續行為。 DC 會等到它收到其命名內容的輸入複寫 (例如,架構主機角色擁有者會等候接收架構分割) 的輸入複寫。

DCs 在 Active Directory 複寫中傳遞的資訊包括目前 FSMO 角色擁有者的身分識別。 當剛開始的 DC 接收輸入複寫資訊時,它會驗證它是否仍為角色擁有者。 如果是的話,它會繼續執行一般作業。 如果複寫的資訊指出另一個 DC 充當角色擁有者,則新啟動的 DC 會 relinquishes 其角色擁有權。 這種行為可減少網域或樹系擁有重複的 FSMO 角色持有者的機率。

重要

AD FS 作業會失敗,如果他們需要角色擁有者,而且新啟動的角色擁有者為,實際上是角色擁有人,而且不會收到輸入複寫。
產生的行為類似于角色持有者離線時所發生的行為。

決定何時傳送或抓住角色

在一般情況下,必須將這五個角色指派給樹系中的「live」 DCs。 當您建立 Active Directory 樹系時,Active Directory 安裝精靈 ( # A0) 會將所有五個 FSMO 角色指派給在樹系根域中建立的第一個 DC。 當您建立子域或樹系網域時,Dcpromo.exe 會將三個網域範圍的角色指派給網域中的第一個 DC。

在使用下列其中一種方法重新指派 FSMO 角色之前,DCs 會繼續擁有 FSMO 角色:

  • 管理員會使用 GUI 管理工具重新指派角色。
  • 管理員會使用命令重新指派角色 ntdsutil /roles
  • 管理員會使用 Active Directory 安裝精靈,以適當的方式降級角色保留 DC。 這個嚮導會將任何本機持有的角色重新指派至樹系中的現有 DC。
  • 管理員使用命令來將角色保留 DC 降級 dcpromo /forceremoval
  • DC 會關機並重新啟動。 當 DC 重新開機時,會收到輸入複寫資訊,指出另一個 DC 是角色持有者。 在此情況下,新開始的 DC 會 relinquishes) 前面所述的角色 (。

如果 FSMO 角色持有人在其角色轉移之前發生失敗,或已被移出服務,您必須將所有角色轉移及轉移至適當且狀況良好的 DC。

建議您在下列案例中傳輸 FSMO 角色:

  • 目前的角色擁有者是可運作的,新的 FSMO 擁有者可在網路上加以存取。
  • 您會適當地將目前擁有 FSMO 角色的 DC 完全降級,該 DC 要指派給 Active Directory 樹系中的特定 DC。
  • 目前擁有 FSMO 角色的 DC 離線進行排程維護,您必須將特定的 FSMO 角色指派給 live DCs。 您可能需要傳送角色,以執行會影響 FSMO 擁有者的作業。 尤其是 PDC 模擬器角色的情況。 對於 RID 主機角色、網網域命名主機角色和架構主機角色而言,這是不太重要的問題。

建議您在下列案例中佔用 FSMO 角色:

  • 目前的角色擁有人遇到運作錯誤,使 FSMO 相依的作業無法順利完成,而且您無法轉移該角色。

  • 您可以使用 dcpromo /forceremoval 命令以強制降級擁有 FSMO 角色的 DC。

    重要

    dcpromo /forceremoval除非系統管理員重新指派 FSMO 角色,否則該命令會將其保留為不正確狀態。

  • 已不存在或已重新安裝最初擁有特定角色之電腦上的作業系統。

注意

  • 建議您只在先前的角色持有者未傳回網域時,才抓住所有角色。
  • 若要在樹系復原案例中取回 FSMO 角色,請參閱在每個網域中還原第一個可寫入的網域控制站底下的步驟5,在執行初始復原。
  • 在角色轉移或佔用後,新的角色持有者不會立即採取行動。 相反地,新的角色擁有人的行為就像是重新開機的角色擁有者,它會等待角色的其命名內容複本 (例如網域分割) ,以完成成功的輸入複寫週期。 這項複寫需求可協助確定新角色擁有人盡可能更新,然後再採取動作。 它也會限制錯誤的機會視窗。 此視窗只包含上一個角色持有者在離線之前未完成複製至其他 Dc 的變更。 如需每個 FSMO 角色的命名內容清單,請參閱 詳細資訊 區段中的表格。

識別新的角色擁有者

新角色持有者的最佳候選人是可滿足下列條件的 DC:

  • 它位於與上一個角色擁有者相同的網域中。
  • 它具有最新的已複製的角色分區的可寫入副本。

例如,假設您必須轉移架構主機角色。 架構主機角色是樹系的架構磁碟分割的一部分 (cn = Schema,cn = Configuration,dc = <forest root domain>) 。 新角色持有者的最佳候選人是指也位於樹系根域中的 DC,以及與目前角色擁有者位於相同的 Active Directory 網站中。

警告

請勿將基礎結構主機角色放在與通用類別目錄伺服器相同的 DC 上。 如果基礎結構主機在通用類別目錄伺服器上執行,它就會停止更新物件資訊,因為它不包含任何未保留物件的參照。 這是因為通用類別目錄伺服器會保留樹系中每個物件的部分複本。

若要測試 DC 是否也是通用類別目錄伺服器,請遵循下列步驟:

  1. 選取 [啟動 程式] [系統 > > 管理工具] [ > Active Directory 網站和服務]。
  2. 在功能窗格中,按兩下 [ 網站 ],然後尋找適當的網站,如果沒有其他可用的網站,請選取 [ 預設-第一個網站名稱 ]。
  3. 開啟 [Servers] 資料夾,然後選取 DC。
  4. 在 DC 的資料夾中,按兩下 [ NTDS 設定]。
  5. 在 [ 動作 ] 功能表上,選取 [ 屬性]。
  6. 在 [ 一般 ] 索引標籤上,查看 [ 通用類別目錄 ] 核取方塊,以查看是否已選取。

如需詳細資訊,請參閱:

強制轉移或轉接 FSMO 角色

您可以使用 Windows PowerShell 或 Ntdsutil 來抓住或轉接角色。 如需如何使用 PowerShell 執行這些工作的詳細資訊和範例,請參閱 ADDirectoryServerOperationMasterRole

重要

如果您必須佔用 RID 主機角色,請考慮使用 ADDirectoryServerOperationMasterRole 指令程式,而不要使用 Ntdsutil.exe 公用程式。

為了避免網域中重複 Sid 的風險,當您取得 RID 主機角色時,Ntdsutil 會將集區中的下一個可用 RID 增加10000。 這種行為可導致樹系完全佔用其可用的 RID 值範圍 (也稱為 RID 燒壞) 。 相反地,如果您使用 PowerShell Cmdlet 來抓住 RID 主機角色,下一個可用的 RID 不會受到影響。

若要使用 Ntdsutil 實用程式來抓住或轉接 FSMO 角色,請遵循下列步驟:

  1. 登入已安裝 AD RSAT 工具的成員電腦,或位於要傳輸 FSMO 角色之樹系中的 DC。

    注意

    • 建議您登入您要指派 FSMO 角色的 DC。
    • 登入的使用者應該是 Enterprise Administrators 群組的成員,以轉移架構主機或網網域命名主機角色,或是要傳輸 PDC 模擬器、RID 主機和基礎結構主機角色之網域的 Domain Administrators 群組成員。
  2. 選取 [開始 > 執行],在 [開啟] 方塊中輸入 ntdsutil ,然後選取 [確定]

  3. 輸入 role,然後按 enter。

    注意

    若要在 Ntdsutil 實用程式的任何一個提示中查看可用命令的清單,請輸入 ,然後按 enter 鍵。

  4. 輸入 connections,然後按 enter 鍵。

  5. 輸入 [連線至 <servername> 伺服器],然後按 enter。

    注意

    在此命令中, <servername> 為您要指派 FSMO 角色的 DC 名稱。

  6. 在 [ 伺服器連接 ] 提示中,輸入 q,然後按 enter 鍵。

  7. 執行下列其中一項:

    • 若要轉移角色:類型 轉移 <role>,然後按 enter。

      注意

      在此命令中, <role> 為您要傳輸的角色。

    • 若要佔用角色,請執行下列動作:類型 轉移 <role>,然後按 Enter 鍵。

      注意

      在此命令中, <role> 為您要進行強制轉移的角色。

    例如,若要佔用 RID 主機角色,請輸入「 佔用 rid 主機」。 其中一個例外狀況是針對 PDC 模擬器角色,其語法是 佔用 pdc,而不是 佔用 pdc 模擬器

    若要查看您可以傳輸或佔用的角色清單,請輸入 fsmo 維護 提示字元處,然後按 enter,或參閱本文開頭的角色清單。

  8. fsmo 維護 提示字元處,輸入 q,然後按 enter 鍵以取得 ntdsutil 提示的存取權。 輸入 q,然後按 Enter 退出 Ntdsutil 實用程式。

修復或移除先前角色擁有者時的考慮

如果可能的話,而且如果您能夠轉移角色,而不是抓住角色,請修正先前的角色擁有者。 如果您無法修正先前的角色持有者,或您已取回角色,請從網域中移除先前的角色擁有者。

重要

如果您打算使用修復的電腦做為 DC,我們建議您從頭開始將電腦重建成 DC,而不是從備份還原 DC。 還原程式會再次將 DC 重新構建為角色持有者。

  • 將已修復的電腦當作 DC 傳回至樹系

    1. 執行下列其中一項:

      • 格式化先前角色持有者的硬碟,然後在電腦上重新安裝 Windows。
      • 強制將先前的角色擁有者降級至成員伺服器。
    2. 在樹系中的另一個 DC 上,使用 Ntdsutil 移除先前角色持有者的中繼資料。 如需詳細資訊,請參閱 使用 Ntdsutil 清除伺服器的中繼資料

    3. 清除中繼資料後,您可以將電腦 repromote 至 DC,然後再將角色轉接給它。

  • 在佔用其角色之後從樹系移除電腦

    1. 從網域中移除電腦。
    2. 在樹系中的另一個 DC 上,使用 Ntdsutil 移除先前角色持有者的中繼資料。 如需詳細資訊,請參閱 使用 Ntdsutil 清除伺服器的中繼資料

Reintegrating 複寫孤島時的考慮

當網域或樹系的一部分無法長期與網域或樹系的其餘部分通訊時,網域或樹系的隔離區段稱為複寫孤島。 一個島中的 Dc 無法與其他孤島中的 Dc 一起複製。 在多重複寫週期內,複寫孤島會失去同步處理。如果每個孤島都有自己的 FSMO 角色持有者,當您還原孤島間的通訊時,可能會發生問題。

重要

在大多數情況下,您可以 (如本文所述的初始複寫需求) ,以 weed 重複的角色持有者。 重新開機角色的持有者若偵測到重複的角色持有者,應放棄該角色。
您可能會遇到此行為無法解決的情況。 在這種情況下,本節中的資訊可能會很有説明。

下表識別樹系或網域擁有該角色的多個角色擁有者時,可能會造成問題的 FMSO 角色:

角色 多個角色持有者之間的潛在衝突?
架構主機
網網域命名主機
RID 主機
PDC 模擬程式
基礎結構主機

此問題不會影響 PDC 模擬主機或基礎結構主機。 這些角色擁有者不會保留運算元據。 此外,基礎結構主機不經常進行變更。 因此,如果有多個孤島具有這些角色擁有者,您可以 reintegrate 孤島,而不會造成長期問題。

架構主機、網網域命名主機和 RID 主機可以在 Active Directory 中建立物件,並保留變更。 每個具有上述角色持有者的島,在您還原複寫時,可能會有重複和衝突的架構物件、網域或 RID 集區。 在 reintegrate 群島之前,請決定要保留的角色擁有者。 遵循本文所述的修復、移除和清除程式,移除任何重複的架構主機、網網域命名主機和 RID 主機。

參考

如需詳細資訊,請參閱: