如何提高 Active Directory 網域和樹系功能等級
本文說明如何提高 Active Directory 網域和樹系功能等級。
適用於:Windows Server 2003
原始 KB 編號: 322692
摘要
如需 Active Directory 網域服務 (AD DS) 中 Windows Server 2016 和新功能的相關信息,請參閱 Windows Server 2016 Active Directory 網域服務 的新功能。
本文討論如何提高 Microsoft Windows Server 2003 或更新的域控制器所支援的網域和樹系功能等級。 Active Directory 有四個版本,只有從 Windows NT Server 4.0 變更的層級需要特殊考慮。 因此,使用較新、最新或較舊版本的域控制器操作系統、網域或樹系功能等級來提及其他層級變更。
功能等級是混合模式的延伸模組,以及 Microsoft Windows 2000 Server 中引進的原生模式概念,可啟用新的 Active Directory 功能。 當所有域控制器都在網域或樹系中執行最新的 Windows Server 版本,以及當系統管理員在網域或樹系中啟用對應的功能等級時,可以使用一些額外的 Active Directory 功能。
若要啟用最新的網域功能,所有域控制器都必須在網域中執行最新的 Windows Server 操作系統版本。 如果符合此需求,系統管理員可以提高網域功能等級。
若要啟用最新的全樹系功能,樹系中的所有域控制器都必須執行對應至所需樹系功能等級的 Windows Server 操作系統版本。 此外,目前的網域功能等級必須已經在最新的層級。 如果符合這些需求,系統管理員可以提高樹系功能等級。
一般而言,網域和樹系功能等級的變更是無法復原的。 如果可以復原變更,就必須使用樹系復原。 使用 Windows Server 2008 R2 操作系統時,可以回復網域功能等級和樹系功能等級的變更。 不過,復原只能在 Technet 有關 Active Directory 功能等級的文章所述的特定案例中執行。
注意事項
最新的網域功能等級和最新的樹系功能等級只會影響域控制器以群組方式一起運作的方式。 與網域互動或與樹系互動的用戶端不會受到影響。 此外,應用程式不會受到網域功能等級或樹系功能等級變更的影響。 不過,應用程式可以利用最新的網域功能和最新的樹系功能。
如需詳細資訊,請 檢視TechNet文章,瞭解與各種功能層級相關聯的功能。
提高功能等級
注意
如果網域具有或將具有比該層級所述版本更舊版本的域控制器,請勿提高功能等級。 例如,Windows Server 2008 功能等級要求所有域控制器都必須在網域或樹系中安裝 Windows Server 2008 或更新版本的操作系統。 將網域功能等級提升至較高層級之後,只能使用樹系復原將其變更回較舊的層級。 之所以有此限制,是因為功能通常會變更域控制器之間的通訊,或因為功能變更了資料庫中 Active Directory 數據的儲存空間。
若要啟用網域和樹系功能等級,最常見的方法是使用 圖形使用者介面 (GUI) 管理工具,如 TechNet 2003 Active Directory 功能等級相關文章中所述。 本文討論 Windows Server 2003。 不過,在較新的操作系統版本中,步驟是相同的。 此外,您可以手動設定功能等級,或使用 Windows PowerShell 腳本來設定。 如需如何手動設定功能等級的詳細資訊,請參閱一節。
如需如何使用 Windows PowerShell 腳本來設定功能等級的詳細資訊,請參閱提高樹系功能等級。
手動檢視和設定功能等級
輕量型目錄存取通訊協定 (LDAP) 工具,例如 Ldp.exe 和 Adsiedit.msc 可用來檢視和修改目前的網域和樹系功能等級設定。 當您手動變更功能等級屬性時,最佳做法是在彈性單一主機作業 (FSMO) 通常以 Microsoft 系統管理工具為目標的域控制器上進行屬性變更。
網域功能等級設定
msDS-Behavior-Version 屬性位於網域的命名內容 (NC) 標頭,也就是 DC=corp、DC=contoso、DC=com。
您可以為此屬性設定下列值:
- 值為 0 或未設定=混合層級網域
- 1=Windows Server 2003 網域層級的值
- 2=Windows Server 2003 網域層級的值
- 3=Windows Server 2008 網域層級的值
- 4=Windows Server 2008 R2 網域層級的值
混合模式和原生模式設定
ntMixedDomain 屬性位於網域的命名內容 (NC) 標頭,也就是 DC=corp、DC=contoso、DC=com。
您可以為此屬性設定下列值:
- 0=原生層級網域的值
- 1=混合層級網域的值
樹系層級設定
msDS-Behavior-Version 屬性位於 NC) (組態命名內容中的 CN=Partitions 物件,也就是 CN=Partitions、CN=Configuration、DC= ForestRootDomain。
您可以為此屬性設定下列值:
值為 0 或未設定=混合層級樹系
值為 1=Windows Server 2003 過渡樹系層級
2=Windows Server 2003 樹系層級的值
注意事項
當您使用Adsiedit.msc 將 msDS-Behavior-Version 屬性從 0 值增加到 1 值時,您會收到下列錯誤訊息:
修改作業不合法。 不允許修改的某些層面。3=Windows Server 2008 網域層級的值
4=Windows Server 2008 R2 網域層級的值
使用輕量型目錄存取通訊協定 (LDAP) 工具來編輯功能等級之後,請按兩下 [確定] 繼續。 分割區容器和網域標頭上的屬性會正確增加。 如果錯誤訊息是由 Ldp.exe 檔報告,您可以放心地忽略錯誤訊息。 若要確認層級增加是否成功,請重新整理屬性清單,然後檢查目前的設定。 如果變更尚未復寫到本機域控制器,則在授權 FSMO 上執行層級增加之後,也可能會發生此錯誤訊息。
使用 Ldp.exe 檔案快速檢視目前的設定
- 啟動 Ldp.exe 檔案。
- 在 [連線] 功能表上,按一下 [連線])。
- 指定您要查詢的域控制器,或將空格保留空白以連線到任何域控制器。
線上到域控制器之後,域控制器的 RootDSE 資訊隨即出現。 此資訊包括樹系、網域和域控制器的相關信息。 以下是以 Windows Server 2003 為基礎的域控制器範例。 在下列範例中,假設網域模式是 Windows Server 2003,而樹系模式是 Windows 2000 Server。
注意事項
域控制器功能代表這個域控制器可能的最高功能等級。
- 1> 個 domainFunctionality:2= (DS_BEHAVIOR_WIN2003)
- 1> forestFunctionality: 0= (DS_BEHAVIOR_WIN2000)
- 1> 個 domainControllerFunctionality:2= (DS_BEHAVIOR_WIN2003)
手動變更功能等級時的需求
如果下列其中一個條件成立,您必須先將網域模式變更為原生模式,才能提高網域層級:
- 網域功能等級會直接修改 domainDNS 物件上的 msdsBehaviorVersion 屬性值,以程序設計方式提升至第二個功能等級。
- 網域功能等級會使用 Ldp.exe 公用程式或 Adsiedit.msc 公用程式,提升至第二個功能等級。
如果您在提高網域層級之前未將網域模式變更為原生模式,則作業未順利完成,而且您會收到下列錯誤訊息:
SV_PROBLEM_WILL_NOT_PERFORM
ERROR_DS_ILLEGAL_MOD_OPERATION
此外,下列訊息會記錄在目錄服務記錄中:
Active Directory could not update the functional level of the following domain because the domain is in mixed mode.
在此案例中,您可以使用 Active Directory 使用者 & 計算機嵌入式管理單元、使用 Active Directory 網域 & 信任 UI MMC 嵌入式管理單元,或以程式設計方式將 domainDNS 物件上的 ntMixedDomain 屬性值變更為 0,將網域模式變更為原生模式。 當此程式用來將網域功能等級提升至 2 (Windows Server 2003) 時,網域模式會自動變更為原生模式。
從混合模式轉換為原生模式會將架構系統管理員安全組和企業系統管理員安全組的範圍變更為通用群組。 當這些群組變更為通用群組時,系統記錄中會記錄下列訊息:
Event Type: Information Event Source: SAM Event ID: 16408 Computer:Server Name Description: "Domain operation mode has been changed to Native Mode. The change cannot be reversed."
使用 Windows Server 2003 系統管理工具叫用網域功能等級時,ntmixedmode 屬性和 msdsBehaviorVersion 屬性都會以正確的順序修改。 不過,這不一定會發生。 在下列案例中,原生模式會隱含設定為值 0,而不會將架構系統管理員安全組和企業系統管理員安全組的範圍變更為通用:
- 控制網域功能模式的 msdsBehaviorVersion 屬性會手動或以程式設計方式設定為 2 的值。
- 樹系功能等級會使用任何方法設定為 2。 在此案例中,域控制器會封鎖對樹系功能等級的轉換,直到局域網路中的所有網域都設定為原生模式,而且在安全組範圍中進行必要的屬性變更為止。
與 Windows 2000 Server 相關的功能等級
Windows 2000 Server 僅支援混合模式和原生模式。 此外,它只會將這些模式套用至網域功能。 下列各節列出 Windows Server 2003 網域模式,因為這些模式會影響 Windows NT 4.0 和 Windows 2000 Server 網域的升級方式。
提高域控制器的操作系統層級時,有許多考慮。 這些考慮是因為 Windows 2000 Server 模式中連結屬性的儲存和複寫限制所造成。
Windows 2000 Server 混合 (預設)
- 支援的域控制器:Microsoft Windows NT 4.0、Windows 2000 Server、Windows Server 2003
- 已啟用的功能:本機和全域群組、全域編錄支援
Windows 2000 Server 原生
- 支援的域控制器:Windows 2000 Server、Windows Server 2003、Windows Server 2008、Windows Server 2008 R2
- 啟用的功能:群組巢狀、通用群組、Sid 歷程記錄、在安全組和通訊群組之間轉換群組,您可以藉由增加樹系層級設定來提高網域層級
Windows Server 2003 過渡期
- 支援的域控制器:Windows NT 4.0、Windows Server 2003
- 支援的功能:此層級未啟用全網域功能。 當樹系層級增加到過渡期時,樹系中的所有網域都會自動提升至此層級。 只有當您將 Windows NT 4.0 網域中的域控制器升級至 Windows Server 2003 域控制器時,才會使用此模式。
Windows Server 2003
- 支援的域控制器:Windows Server 2003、Windows Server 2008、Windows Server 2008 R2
- 支援的功能:域控制器重新命名、更新並復寫登入時間戳屬性。 InetOrgPerson 物件Class上的用戶密碼支援。 限制委派,您可以重新導向用戶和計算機容器。
從 Windows NT 4.0 升級或由升級 Windows Server 2003 計算機所建立的網域,會在 Windows 2000 混合功能層級運作。 當 Windows 2000 Server 域控制器升級至 Windows Server 2003 操作系統時,Windows 2000 Server 網域會維持其目前的網域功能等級。 您可以將網域功能等級提升為 Windows 2000 Server 原生或 Windows Server 2003。
過渡期層級 - 從 Windows NT 4.0 網域升級
Windows Server 2003 Active Directory 允許名為 Windows Server 2003 過渡期的特殊樹系和網域功能等級。 此功能等級是針對現有 Windows NT 4.0 網域的升級所提供,其中一或多個 Windows NT 4.0 備份域控制器 (BDC) 必須在升級之後運作。 此模式不支援 Windows 2000 Server 域控制器。 Windows Server 2003 過渡期適用於下列案例:
- 網域從 Windows NT 4.0 升級至 Windows Server 2003。
- Windows NT 4.0 BDC 不會立即升級。
- Windows NT 包含超過 5000 個成員的群組的 4.0 網域, (不包括網域使用者群組) 。
- 沒有任何計劃可在樹系中隨時實作 Windows Server2000 域控制器。
Windows Server 2003 過渡期提供兩個重要的增強功能,同時仍允許復寫至 Windows NT 4.0 BDC:
- 安全組的有效復寫,以及每個群組超過 5000 個成員的支援。
- 改善的 KCC 月臺間拓撲產生器演算法。
由於在過渡期層級啟動的群組復寫效率,因此過渡期層級是所有 Windows NT 4.0 升級的建議層級。 如需詳細資訊,請參閱本文的一節。
設定 Windows Server 2003 過渡樹系功能等級
Windows Server 2003 過渡期可透過三種不同的方式啟動。 強烈建議使用前兩種方法。 這是因為安全組會在 Windows NT 4.0 網域的主域控制器 (PDC) 升級至 Windows Server 2003 域控制器之後,使用連結值復寫 (LVR) 。 第三個選項較不建議使用,因為安全組中的成員資格使用單一多重值屬性,這可能會導致復寫問題。 啟用 Windows Server 2003 過渡期的方式如下:
在升級期間。
當您升級作為新樹系根域中第一個域控制器的 Windows NT 4.0 網域的 PDC 時,Dcpromo 安裝精靈會顯示此選項。
將 Windows NT 4.0 的 Windows NT 4.0 PDC 升級為現有樹系中新網域的第一個域控制器之前,請使用輕量型目錄存取通訊協定 (LDAP) 工具手動設定樹系功能等級。
子域會從其升級到的樹系繼承全樹系功能設定。 將 Windows NT 4.0 網域的 PDC 升級為現有 Windows Server 2003 樹系中的子域,其中已使用 Ldp.exe 檔案或 Adsiedit.msc 檔案來設定過渡樹系功能等級,可讓安全組在操作系統版本升級之後使用連結值複寫。
使用LDAP工具升級之後。
當您在升級期間加入現有的 Windows Server 2003 樹系時,請使用最後兩個選項。 這是「空白根」網域處於位置時的常見案例。 升級的網域會以空白根目錄的子系身分加入,並繼承樹系中的網域設定。
最佳做法
下一節討論提高功能等級的最佳做法。 區段分成兩個部分。 「準備工作」討論增加之前必須執行的工作,而「最佳路徑增加」則討論不同層級增加案例的動機和方法。
若要探索 Windows NT 4.0 域控制器,請遵循下列步驟:
從任何以 Windows Server 2003 為基礎的域控制器,開啟 Active Directory 使用者和電腦。
如果域控制器尚未連線到適當的網域,請遵循下列步驟來聯機到適當的網域:
- 以滑鼠右鍵按兩下目前的網域物件,然後按兩下 [ 連線到網域]。
- 在 [ 網域 ] 對話框中,輸入您要連線的網域 DNS 名稱,然後按兩下 [ 確定]。 或者,按兩下 [瀏覽 ] 從網域樹狀結構中選取網域,然後按兩下 [ 確定]。
以滑鼠右鍵按兩下網域物件,然後按兩下 [ 尋找]。
在 [ 尋找] 對話框中,按兩下 [ 自定義搜尋]。
按兩下您要變更其功能等級的網域。
Click the Advanced tab.
在 [ 輸入 LDAP 查詢] 方塊中輸入下列內容,並在任何字元之間保留任何空格: (& (objectCategory=computer) (operatingSystem Version=4*) (userAccountControl:1.2.840.113556.1.4.803:=8192) )
注意事項
此查詢不區分大小寫。
Click Find Now.
網域中執行 Windows NT 4.0 並作為域控制器的計算機清單隨即出現。
域控制器可能會因為下列任何原因出現在清單中:
- 域控制器 Windows NT 4.0 執行,必須升級。
- 域控制器已升級至 Windows Server 2003,但變更不會復寫至目標域控制器。
- 域控制器已不再提供服務,但域控制器的計算機物件不會從網域中移除。
在您可以將網域功能等級變更為 Windows Server 2003 之前,您必須實際找出清單中的任何域控制器、判斷域控制器的目前狀態,然後適當地升級或移除域控制器。
注意事項
不同於 Windows Server 2000 域控制器,Windows NT 4.0 域控制器不會封鎖層級增加。 當您變更網域功能等級時,複寫至 Windows NT 4.0 域控制器將會停止。 不過,當您嘗試在 Windows Server 2000 中使用網域增加至 Windows Server 2003 樹系層級時,混合層級會遭到封鎖。 缺少 Windows NT 4.0 BDC 是透過符合 Windows Server 2000 原生層級或更新版本中所有網域的樹系層級需求所隱含。
範例:在層級增加之前準備工作
在此範例中,環境會從 Windows Server 2000 混合模式引發到 Windows Server 2003 樹系模式。
清查舊版域控制器的樹系。
如果無法使用精確的伺服器清單,請遵循下列步驟:
- 若要探索混合層級網域、Windows Server 2000 域控制器或物件損毀或遺失的域控制器,請使用 Active Directory 網域和信任 MMC 嵌入式管理單元。
- 在嵌入式管理單元中,按兩下 [ 提高樹系功能],然後按兩下 [ 另存新 檔] 以產生詳細報告。
- 如果找不到任何問題,則可從 [可用的樹系功能等級] 下拉式清單中取得增加至 Windows Server 2003 樹系層級 的選項。 當您嘗試提高樹系層級時,會搜尋設定容器中的域控制器物件,以尋找未將 msds-behavior-version 設定為所需目標層級的任何域控制器。 這些會假設為 Windows Server 2000 域控制器或較新的 Windows Server 域控制器物件已損毀。
- 如果找到舊版域控制器或已損毀或遺失計算機物件的域控制器或域控制器,它們會包含在報表中。 必須調查這些域控制器的狀態,而且必須使用 Ntdsutil 檔案修復或移除 Active Directory 中的域控制器表示法。
如需詳細資訊,請按下列文章編號以檢視 Microsoft 知識庫中的文章:
216498 如何在域控制器降級失敗后移除 Active Directory 中的數據
確認樹系中的端對端復寫正常運作
若要確認樹系中的端對端復寫運作正常,請針對 Windows Server 2000 或 Windows Server 2003 域控制器使用 Windows Server 2003 或更新版本的 Repadmin:
Repadmin/Replsum * /Sort:Delta[/Errorsonly]
用於初始清查。Repadmin/Showrepl * /CSV>showrepl.csv
. 匯入至 Excel,然後使用數據>自動篩選來識別複寫功能。使用 Repadmin 之類的復寫工具來確認全樹系複寫是否正常運作。
使用較新的 Windows Server 域控制器,以及較高的 Windows Server 網域和樹系模式,確認所有程式或服務的相容性。 使用實驗室環境徹底測試生產程式和服務的相容性問題。 請連絡廠商以確認功能。
準備包含下列其中一個動作的備份計劃:
- 從樹系中的每個網域中斷至少兩個域控制器的連線。
- 從樹系中的每個網域建立至少兩個域控制器的系統狀態備份。
在使用備份計劃之前,必須先解除樹系中的所有域控制器,再進行復原程式。
注意事項
無法以授權方式還原層級增加。 這表示所有已復寫層級增加的域控制器都必須解除委任。
解除所有先前的域控制器之後,請啟動中斷連線的域控制器,或從備份還原域控制器。 從所有其他域控制器移除元數據,然後重新保護它們。 這是一個困難的程式,必須加以避免。
範例:如何從 Windows Server 2000 混合層級取得 Windows Server 2003 樹系層級
將所有網域增加到 Windows Server 2000 原生層級。 完成之後,請將樹系根域的功能等級增加到 Windows Server 2003 樹系層級。 當樹系層級復寫到樹系中每個網域的計算機時,網域層級會自動增加為 Windows Server 2003 網域層級。 此方法具有下列優點:
- 全樹系層級增加只會執行一次。 您不需要手動將樹系中的每個網域增加到 Windows Server 2003 網域功能等級。
- 在層級增加之前,會先檢查 Windows Server 2000 域控制器, (查看準備步驟) 。 增加會遭到封鎖,直到移除或升級問題域控制器為止。 列出封鎖域控制器並提供可採取動作的數據,即可產生詳細的報告。
- 系統會檢查 Windows Server 2000 混合或 Windows Server 2003 過渡期層級中的網域。 增加會遭到封鎖,直到網域層級增加到至少 Windows Server 2000 原生。 過渡期層級網域必須增加到 Windows Server 2003 網域層級。 列出封鎖網域即可產生詳細的報告。
Windows NT 4.0 升級
Windows NT 4.0 升級一律會在升級 PDC 期間使用過渡層級,除非 Windows Server 2000 域控制器已導入 PDC 升級所在的樹系。 在升級 PDC 期間使用過渡模式時,現有的大型群組會立即使用 LVR 複寫,以避免本文稍早所討論的潛在復寫問題。 使用下列其中一種方法,在升級期間進入過渡層級:
- 在 Dcpromo 期間選取過渡期層級。 只有當 PDC 升級至新的樹系時,才會顯示此選項。
- 將現有樹系的樹系層級設定為過渡期,然後在 PDC 升級期間加入樹系。 升級的網域會繼承樹系設定。
- 升級或移除所有 Windows NT 4.0 BDC 之後,每個網域都必須轉換成樹系層級,而且可以轉換為 Windows Server 2003 樹系模式。
避免使用過渡模式的原因是有計劃在升級之後或未來任何時間實作 Windows Server 2000 域控制器。
Windows NT 4.0 中大型群組的特殊考慮
在成熟 Windows NT 4.0 網域中,可能存在包含超過 5000 個成員的安全組。 在 Windows NT 4.0 中,當安全組的成員變更時,只有成員資格單一變更會復寫至備份域控制器。 在 Windows Server 2000 中,群組成員資格是儲存在群組物件之單一多重值屬性中的鏈接屬性。 對群組的成員資格進行單一變更時,會將整個群組復寫為單一單位。 因為群組成員資格會復寫為單一單位,所以當不同域控制器同時新增或移除不同的成員時,可能會「遺失」群組成員資格的更新。 此外,這個單一物件的大小可能超過用來將專案認可至資料庫的緩衝區。 如需詳細資訊,請參閱本文的一節。 基於這些理由,群組成員的建議限制為5000。
5000 成員規則的例外是主要群組 (根據預設,這是「網域使用者」群組) 。 主要群組會根據使用者的 「primarygroupID」 使用「計算」機制來判斷成員資格。 主要群組不會將成員儲存為多重值連結屬性。 如果使用者的主要群組變更為自定義群組,則其在 Domain Users 群組中的成員資格會寫入群組的連結屬性,且不再計算。 新的主要群組 Rid 會寫入 「primarygroupID」,而且使用者會從群組的成員屬性中移除。
如果系統管理員未選取升級網域的過渡期層級,您必須在升級之前遵循下列步驟:
- 清查所有大型群組,並識別超過5000的任何群組,但網域使用者群組除外。
- 擁有超過 5000 個成員的所有群組都必須分成小於 5000 個成員的較小群組。
- 找出輸入大型群組的所有 存取控制 清單,並新增您在步驟 2.Windows Server 2003 過渡樹系層級中建立的小型群組,讓系統管理員不必探索及重新配置具有超過 5000 個成員的全域安全組。
大型群組的版本存放區問題
在深入搜尋或認可單一大型屬性等長時間執行的作業期間,Active Directory 必須確定資料庫的狀態為靜態,直到作業完成為止。 深層搜尋或認可大型屬性的範例是使用舊版記憶體的大型群組。
當資料庫的更新持續發生在本機和複寫夥伴時,Active Directory 會藉由將所有傳入的變更排入佇列,直到長時間執行的作業完成為止,來提供靜態狀態。 作業一完成,佇列的變更就會套用至資料庫。
這些佇列變更的儲存位置稱為「版本存放區」,大約為 100 MB。 版本存放區的大小會因物理記憶體而異。 如果長時間執行的作業未在版本存放區用盡之前完成,域控制器會停止接受更新,直到長時間執行的作業和已排入佇列的變更認可為止。 到達大量 (超過 5000 個成員的群組) 只要認可大型群組,域控制器就會面臨耗盡版本存放區的風險。
Windows Server 2003 為連結的多重值屬性引進新的複寫機制,稱為連結值復寫 (LVR) 。 LVR 不會在單一復寫作業中複寫整個群組,而是將每個群組成員複寫為個別的復寫作業來解決此問題。 當樹系功能等級提升至 Windows Server 2003 過渡樹系層級或 Windows Server 2003 樹系層級時,LVR 就會變成可用。 在此功能等級中,LVR 是用來在 Windows Server 2003 域控制器之間復寫群組。