Microsoft AD 伺服器遷移 - 兩台伺服器關閉一台(避免伺服器降級)
我有兩台伺服器,一台舊的 AD 伺服器(伺服器 A)和一台全新的伺服器(伺服器 B)。我正在嘗試從舊遷移到新,因此我按照這些說明設置了我的第二台伺服器,並將第二台伺服器添加為同一域中的域控制器。
因此,伺服器領域的一切都很棒,兩台伺服器都在舊域上,並且都配置為域控制器。現在我想關閉伺服器 A(最終將被停用,但我想暫時保留它作為備份)。所以我在伺服器 B 上禁用AD 複製並調整 DNS 設置,使伺服器 B 不再指向伺服器 A:
然後我關閉了伺服器 A。突然(在伺服器 B 上)我無法通過“Active Directory 使用者和電腦”或“Active Directory 管理中心”訪問 AD 的配置。我得到了各種推導:
找不到命名資訊,因為:RPC 伺服器不可用
無法連接到任何域。連接可用時刷新或重試。
無法聯繫以下域控制器:127.0.0.1。指定的域不存在或無法聯繫。
所以它似乎工作(我可以使用域憑據登錄,使用 AD 的第三方應用程序似乎工作),但我無法訪問任何東西。我在這裡遺漏了什麼嗎,我不明白為什麼伺服器 B 不只是將自己檢測為新的 AD 伺服器。我以為不再有神奇的“主”AD 伺服器。網際網路上的大多數人都建議降級舊的 AD 伺服器,但在這種情況下我寧願不這樣做。是否可以在不降級舊伺服器的情況下完成 AD 遷移?
更新 1
在按照@KatherineVillyard 的建議更新 FSMO 角色後,我得到了大部分相同的錯誤,但是在“Active Directory 管理中心”中,我得到了一個有趣的新錯誤,當您選擇“更改域控制器”時,我得到:
在 DEV 域中找不到執行 Active Directory Web 服務 (ADWS) 的可用伺服器。
當我檢查時這很有趣,我確信該服務正在我的新盒子上執行。我想知道這個問題是否與 DNS 相關。我已經嘗試重新調整網路設置並重新啟動伺服器。經常遇到這些類型的問題,我似乎只是把東西扔在牆上,看看有什麼粘著:(
更新 2
我已經嘗試了很多事情,但是似乎我可以通過關閉伺服器 A 來重現該問題,只需禁用伺服器 A 上的 NetLogin 服務即可。一旦伺服器 A 上的此服務停止響應,您將無法再訪問該域(類似類型的錯誤)通過任一伺服器上的任何管理單元控制項。
當您在伺服器 B 上執行以下命令時,我還注意到一些有趣的事情:
nltest /DSGetDC:MYDOMAINHERE
您會得到以下資訊(假設兩台伺服器上都在執行 netlogin):
DC: \(SERVER A)
地址: \(SERVER A IP ADDRESS)
Dom Guid: XXXX
Dom Name: (MYDOMAINHERE)
Forest Name: (MYDOMAINHERE)
DC 站點名稱:Default-First-Site-Name
我們的站點名稱:預設-First-Site-Name…
我在新伺服器(B)上註意到的另一件事是,如果您執行(“dcdiag /test:advertising”),您會收到以下消息(舊伺服器(A)上沒有問題):
測試伺服器:Default-First-Site-Name(Server B)
開始測試:廣告
警告:當我們試圖到達 (Server B) 時,DsGetDcName 返回了 \(Server A).(MYDOMAINHERE) 的資訊。
伺服器沒有響應或被認為不合適。
…………………….(伺服器 B)測試廣告失敗
這確實讓我覺得新伺服器(B)上的某種 DNS 配置存在問題,但是我已經刪除了伺服器 B 的DNS 管理器中對伺服器 A 的每個引用並重新啟動了伺服器。這整個事情有點像一個黑匣子,“DSGetDC”從哪裡提取這些資訊?“ (DNS)伺服器”,應該是伺服器B,它不應該對伺服器A有任何引用,顯然我在這裡遺漏了一些東西:(
我放棄 :(
我把它交給了一位同事來弄清楚,我們最終發現這個問題與“DFSR SYSVOL 複製”有關。我們將新伺服器 (B) 降級並重新升級,以嘗試清除任何無效配置。然後我們按照下面的文章詳細介紹了該問題的解決方案。事實證明,在執行場景 1 和 2 中的步驟後,系統資料庫項“SysvolReady”在新伺服器 (B) 上設置為零。
(如果連結失效)
要解決此問題,請按所述順序執行以下所有步驟,並在以域管理員身份執行時使用提升的 CMD 提示符:
場景一:
- 通過在 PDCE 上執行來確定哪個安全組策略將此設置應用於 DC:
GPRESULT.EXE /H secpol.htm 2. 在網路瀏覽器中打開 secpol.htm,然後點擊“顯示全部”。搜尋條目“管理審計和安全日誌”。它將列出應用此設置的組策略。 3. 使用 GPMC.MSC,編輯該組策略以包括“管理員”組。 4. 允許 AD 和 SYSVOL 複製在所有 DC 上聚合。在 PDCE 上,執行:
GP更新/強制 5. 註銷 PDCE 並重新登錄,以便使用使用者權限分配更新您的安全令牌。 6. 跑:
DFSRMIG.EXE /CREATEGLOBALOBJECTS 7. 允許 AD 和 SYSVOL 複製在所有 DC 上聚合。在 PDCE 上,執行:
DFSRDIAG.EXE POLLAD
DFSRMIG.EXE /GETMIGRATIONSTATE 8. 驗證部分或所有 DC 是否已達到“已準備”狀態並準備好重定向。此時,您可以正常進行遷移。請參閱遷移最佳實踐下方的更多資訊部分。
場景二:
- 通過在 PDCE 上執行來確定哪個安全組策略將此設置應用於 DC:
GPRESULT.EXE /H secpol.htm 2. 在網路瀏覽器中打開 secpol.htm,然後點擊“顯示全部”。搜尋條目“管理審計和安全日誌”。它將列出應用此設置的組策略。 3. 使用 GPMC.MSC,編輯該組策略以包括“管理員”組。 4. 允許 AD 和 SYSVOL 複製在所有 DC 上聚合。在受影響的 DC 上,執行:
GP更新/強制 5. 重新啟動該 DC 上的 DFSR 服務。 6. 驗證 DC 現在共享 SYSVOL 和 NETLOGON,並複制 SYSVOL 入站。
“沃倫筆記 2013 年 5 月 3 日”
- 手動共享 sysvol - 編輯此系統資料庫值 - 鍵 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\parameters
值 SysvolReady = 1
執行 net share 以確保 sysvol 已共享。 2. 打開策略並將使用者或組添加到“管理審計和安全日誌”使用者權限。 3. 執行 gpupdate 強制。
我們認為無法複製和 netlogin 狀態系統資料庫項是問題的癥結所在,但我們嘗試了許多其他更小的事情,這些也可能是解決問題的一個因素。但是,希望這篇文章將來對某人有所幫助。
沒有“神奇的主 AD 伺服器”,但有FSMO 角色。根據您提供的資訊,我相當確定伺服器 A 擁有一個或所有 FSMO 角色。
您可能希望恢復伺服器 A,將所有 FSMO 角色優雅地轉移到伺服器 B,然後將其恢復。 本文將告訴您如何使用 PowerShell 執行此操作。在連結失效的情況下,這裡是主要要點:
查找目前大師:
Get-ADForest example.com| ft DomainNamingMaster, SchemaMaster Get-ADDomain example.com | ft InfrastructureMaster, PDCEmulator, RIDMaster
載入 Active Directory PowerShell 模組:
Import-Module ActiveDirectory
您可以根據名稱或角色編號移動角色。
Move-ADDirectoryServerOperationMasterRole "Server B" –OperationMasterRole 0,1,2,3,4
或者
Move-ADDirectoryServerOperationMasterRole "Server B" –OperationMasterRole PDCEmulator,RIDMaster,InfrastructureMaster,SchemaMaster,DomainNamingMaster
如果失敗,請在末尾添加 -force,如
Move-ADDirectoryServerOperationMasterRole “dc2” –OperationMasterRole 0,1,2,3,4 -force
如果您願意,也可以使用 GUI 。