Share via


Active Directory 樹系復原 - 復原多網域樹系中的單一網域

適用於:Windows Server 2022、Windows Server 2019、Windows Server 2016、Windows Server 2012 R2 和 2012

在某些情况下,可能需要在具有多個網域的樹系中僅復原單一網域,而不是完整的樹系復原。 本主題介紹復原單一網域的注意事項以及可能的策略。

與樹系復原程序類似,您可以從網域中的備份還原一個或多個 DC,並對其餘 DC 執行中繼資料清除。 然後透過加入新成員、安裝 AD DS 角色並對其進行升級來新增新的網域控制站。 您也可以使用 DC 複製從媒體安裝來執行此工作。

單一網域復原對重建通用類別目錄 (GC) 伺服器提出了獨特的挑戰。 例如,假設網域的第一個網域控制站 (DC) 是根據一週前建立的備份還原而來,則樹系中所有其他 GC 將比還原後的 DC 具有更多該網域的最新資料。 要重建 GC 資料一致性,有兩個選項:

  • 從樹系中的所有 GC (已還原網域中的 GC 除外) 中取消裝載已還原網域分割,同時完成後,重新裝載樹系中的全部 GC。 還要確保不讓剩下的 GC 多載。 在大型環境中,協調此活動可能非常複雜。

  • 遵循樹系復原程序來還原網域,然後從其他網域中的 GC 中移除延遲物件。

在下列各節中,會針對每個選項提供一般注意事項。 復原需要執行的一整套步驟因不同的 Active Directory 環境而異。

重新建立群組受管理的服務帳戶 (gMSA)

警告

如果樹系中的 KDS 根金鑰物件遭入侵,即使網域本身沒有遭入侵,也應該在多個網域中重新建立 gMSA 帳戶。

如何從黃金 gMSA 攻擊中還原中討論了該問題和解決方案。

您必須防止攻擊者使用從被盜的網域控制站備份中取得的資料,使用 gMSA 計算的認證進行驗證。 將樹系的網域中使用公開 KDS 根金鑰物件之所有 gMSA 取代為使用新 KDS 根金鑰物件的 gMSA 帳戶。 在開始使用群組受管理的服務帳戶中介紹了該程序,並進行了一些重要變更:

  • 停用所有現有 gMSA 帳戶,將 userAccountControl 屬性設定為 4098 (工作站類型 + 已停用)。

  • 建立新的 KDS 根金鑰物件,如建立金鑰發佈服務 KDS 根金鑰中所述。

    重要

    在同一網域控制站上重新啟動 Microsoft 金鑰發佈服務 (KDSSVC)。 這是需要的,以便 KDSSVC 挑選物件。 建立新 gMSA 帳戶以取代同一網域控制站上的現有帳戶。 此時,編輯現有 gMSA 帳戶,因為必須為作用中 gMSA 指派唯一的服務主體名稱。

  • 將成員伺服器重新加入網域後,使用新帳戶變更使用 gMSA 的元件。

為了確保新 gMSA 使用新 KDS 根金鑰物件,請檢查屬性 msDS-ManagedPasswordId 二進位資料是否具有相符的 KDS 根金鑰物件之 GUID。 物件的 CN 為 CN=e3779ca1-bfa2-9f7b-b9a5-20cf44f2f8d6

gmsa cn value

gMSA 的 msDS-ManagedPasswordId 應具有 GUID 起始位移 24,GUID 的前三部分依位元組交換順序 (紅、綠、藍),其餘部分依正常位元組順序 (橙):

guid with color coding

如果第一個 gMSA 是使用新 KDS 根金鑰建立的,那麼所有後續 gMSA 建立都可以。

清理

  • 删除使用舊 KDS 根金鑰物件的舊 gMSA 帳戶。
  • 删除舊 KDS 根金鑰物件。

重新裝載所有 GC

警告

所有網域的預設網域系統管理員使用者帳戶 (「RID-500」) 的登入名稱和密碼必須可用,並且在出現封鎖存取 GC 進行登入的問題時啟用該帳戶。

注意

要允許在不進行 GC 驗證的情况下登入,還可以將 HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Lsa\\IgnoreGCFailures 值設定為 1。

如果未知,請透過對每個網域中的另一個帳戶使用 whoami /all 來取得網域識別碼,或者執行以下命令來識別 RID 500。\$DomainSID = (Get-ADDomain).DomainSID.Value\$ObjSID = New-ObjectSystem.Security.Principal.SecurityIdentifier("\$DomainSID-500")\$RID500 = \$ObjSID.Translate([System.Security.Principal.NTAccount])\$RID500.Value

可以使用 repadmin /unhostrepadmin /rehost 命令 (repadmin /experthelp 的一部分) 重新承載所有 GC。 您将在每个未還原網域中的每个 GC 上运行 repadmin 命令。 需要確保的是,所有 GC 不再持有已還原網域的複本。 若要實現這一點,請首先從樹系中所有未還原網域的所有網域控制站中取消裝載網域分割。 由於 GC 不再包含分割,您可以重新裝載它。 重新裝載時,請考慮樹系的網站和複寫結構。 例如,在重新裝載該網站的其他 DC 之前,先完成每個網站一個 DC 的重新裝載。

對於每個網域只有幾個網域控制站的小型組織來說,此選項可能是有利的。 所有 GC 都可以在週五晚上重建,如有必要,可以在週一上午之前完成所有唯讀網域分割的複寫。 但是,如果您需要還原覆蓋全球網站的大型網域,則在其他網域的所有 GC 上重新裝載唯讀網域分割可能會嚴重影響作業,並可能需要停機。

檢查並移除延遲物件

在樹系中所有其他網域的 GC 上,檢查並移除已還原網域的唯讀分割之潜在延遲物件。

延遲物件清除的來源必須是已還原網域中的 DC。 為了確保來源 DC 沒有任何網域分割的延遲物件,可以移除通用類別目錄。

移除延遲物件對於那些不能承擔與重新裝載網域命名内容相關之停機風險的大型組織來說是有利的。

如需詳細資訊,請參閱使用 repadmin 來移除延遲物件

下一步