﻿# 如何轉移 Active Directory 五大角色(FSMO)至其他網域主控站

今天要對公司其中一台網域主控站主機做硬體維護，但這台機器是 AD 中的 FSMO 五大角色，所以想先將 FSMO 五大角色轉移後再關機維護，我隱隱約約之中感覺這主題我之前好像有寫過 ([這篇文章](/post/2011/02/09/How-to-add-Windows-Server-2008-R2-Domain-Controller-into-Win2k8-Domain))，但卻無法直覺的找到該文章，所以為了讓日後更容易搜索到文章，決定寫一篇專文介紹轉移的過程，也順便重新複習一遍轉移五大角色的過程。

FSMO ([Flexible Single Master Operations](http://en.wikipedia.org/wiki/Flexible_single_master_operation)) 五大角色分別為：

-   **架構主機** (**Schema Master**)
    -   負責更新目錄架構。
-   **網域命名主機** (**Domain Naming Master**)
    -   負責變更樹系網域目錄名稱空間。
-   **基礎結構主機** (**Infrastructure Master**)
    -   跨網域物件參照中，負責更新物件 SID 與辨別名稱。
-   **RID 集區管理員** (**RID Master**)
    -   負責處理 RID (Relative ID) 集區中來自給定的網域的所有 DC 要求。
-   **PDC** (**PDC Emulator**)
    -   對舊版的工作站、成員伺服器與網域控制站宣稱自己為主要網域控制站 (PDC)。

若要查詢目前 AD 環境中 FSMO 五大角色座落於哪幾台網域控制站主機，可以使用以下指令查詢：

```bash
netdom query fsmo
```

![image](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/1c157c5e2fe6c346d846-image_1602.png)

要轉移 FSMO 五大角色，必須用到以下三個工具：

-   **Active Directory 使用者和電腦** (Active Directory Users and Computers)
    -   可變更 **RID 集區管理員**、**PDC** 與 **基礎結構** 這三種角色
-   **Active Directory 網域及信任** (Active Directory Domains and Trusts)
    -   可變更 **網域命名操作主機** 角色
-   **Active Directory 架構** 管理單元 ( 需透過 MMC 主控台加入 )
    -   可變更 **架構主機** 角色

> **請注意**：以下轉移的標準作業流程 (SOP)，請登入到要成為五大角色的網域主控站主機上操作！

開啟 **Active Directory 使用者和電腦** 管理工具，並對**網域節點**執行「**操作主機**」功能：

![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/d4f0a032b18e43ac305f-image_1603.png)

在這裡可以變更 **RID 集區管理員**、**PDC** 與 **基礎結構** 這三種角色，切換頁籤並按下「**變更**」按鈕即可：

![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/772edc365453f5693b15-image_1604.png)

接下來開啟 **Active Directory 網域及信任** 管理工具，並對**根節點**執行「**操作主機**」功能：

![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/d4943dd031c130003820-image_1605.png)

在這裡可以變更 **網域命名操作主機** 角色，直接按下「**變更**」按鈕即可：

![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/ef473c5f907220754dc6-image_1606.png)

FSMO 五大角色只剩下 **架構主機** 還沒有轉移，而這個角色在第一次轉移角色時會比較麻煩，必須先利用命令提示字元先註冊 `schmmgmt.dll` 元件，註冊完後才能在 MMC 主控台中看見 **Active Directory 架構** 管理單元：

![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/70e3f9b3f64fa95e178e-image_1607.png)

執行 **mmc** 開啟 MMC 主控台應用程式，並加入 **Active Directory 架構** 管理單元

![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/5427a07acf2a1c190ffe-image_1608.png)

![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/c3525ec688a2b3cbc8dc-image_1609.png)

![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/6fde681221bbdd280701-image_1610.png)

加入 **Active Directory 架構** 管理單元之後，當你展開後你會發現你雖然在即將成為五大角色的網域主控站操作，但是他還是會連到目前架構主機的網域主控站，你必須先變更為目前這一台網域主控站才能變更操作主機，如下操作：

![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/b7f68e490a6749e20109-image_1611.png)

![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/c049e6b264ecaa06deb1-image_1612.png)

切換網域主控站的過程中會看到以下提示，但這不會影響你稍後操作主機變更的動作：

![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/85b33c08007a16619133-image_1613.png)

![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/ee82b3e7fb895b50f141-image_1614.png)

![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/03213257303a20364d16-image_1615.png)

![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/e016eeff6b1c6025f578-image_1616.png)

如此一來所有 AD 角色皆已轉移完成，你可以透過 `netdom query fsmo` 再查一次即可得知：

![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/70069559b7e64613ef00-image_1617.png)

最後再用 `DCDiag /v` 執行 DC 檢查，如果都沒有錯誤的話，那就大功告成了！

### 相關連結

-   [Windows Server 2008 R2 Active Directory 疑難雜症心得筆記](/post/2010/11/27/Windows-Server-2008-R2-Active-Directory-Troubleshooting.aspx)
-   [Best Practices Analyzer for Active Directory Domain Services](http://technet.microsoft.com/en-us/library/dd391875\(WS.10\).aspx)
-   [◎FSMO五大角色轉移](http://www3.sips.ntpc.edu.tw/wordpress/?p=231)
-   [如何在 Windows Server 2003 中檢視及轉移 FSMO 角色](https://web.archive.org/web/20080119053529/http://support.microsoft.com:80/kb/324801)
