Active-Directory

將 Windows Server + 域控制器升級到 Windows Server 2019 - “ADPrep.exe”失敗

  • January 26, 2022

我正在使用此處的說明將我的 Windows Server 2012 AD 控制器升級到 Windows Server 2019。此伺服器是一個隔離的 AD 控制器,沒有以任何方式連接到它的其他伺服器/客戶端。

當我在此伺服器上執行以下命令時:

./adprep.exe /forestprep /forest Dev

我收到以下錯誤:

Adprep 無法聯繫架構 FSMO STORMDEMO.DEV.EBM.COM。架構 FSMO 必須可訪問,此操作才能繼續。

$$ Status/Consequence $$Active Directory 域服務架構未升級。$$ User Action $$檢查 C:\Windows\debug\adprep\logs\20220119160049 目錄中的日誌文件 ADPrep.log 以了解可能的故障原因。 Adprep 遇到 Win32 錯誤。錯誤程式碼:0x2095 錯誤消息:發生目錄服務錯誤。

Adprep 無法檢查指定使用者的組成員身份。

$$ Status/Consequence $$Adprep 已停止但未進行任何更改。$$ User Action $$如果指定了 /forestprep,則驗證指定的使用者是 Enterprise Admins 組和 Schema Admins 組的成員;如果指定了 /domainprep,則驗證指定的使用者是 Domain Admins 組的成員;如果指定了 /rodcprep,則驗證指定的使用者是 Enterprise Admins 組的成員。 Adprep 遇到 Win32 錯誤。錯誤程式碼:0x2095 錯誤消息:發生目錄服務錯誤。

此錯誤阻止我繼續進行 Windows 升級過程。我檢查了執行此程序的使用者帳戶,並嘗試使用提升權限並在“管理員”帳戶下執行它,但始終顯示相同的錯誤消息。我的使用者帳戶和“管理員”使用者帳戶是上述組的成員。

Google搜尋特定的錯誤消息(0x2095 錯誤消息:發生目錄服務錯誤。)只會導致我與其他操作相關的模糊文章沒有明確的解決方案。

有誰了解導致此問題的原因,和/或對此問題有解決方案?

更新 1

這兩個答案我們都很有用,我遵循了建議,發現 FSMO 角色存在一些混淆,伺服器名稱是“EBM-TFS”,當我執行“netdom query FSMO”時,我得到以下資訊:

Schema master               STORMDEMO.DEV.EBM.COM
Domain naming master        STORMDEMO.DEV.EBM.COM
PDC                         EBM-TFS.DEV.EBM.COM
RID pool manager            EBM-TFS.DEV.EBM.COM
Infrastructure master       EBM-TFS.DEV.EBM.COM

我能夠使用 powershell 來獲取“Schema Master”角色(首先我執行Ntdsutil,但失敗了,然後我執行Move-ADDirectoryServerOperationMasterRole -Identity “EBM-TFS” -OperationMasterRole schemaMaster),但是我無法獲取“具有該或“ ntdsutil ”的域命名主機“角色:

Move-ADDirectoryServerOperationMasterRole:目錄服務不可用在 line:1 char:1

  • 移動-ADDirectoryServerOperationMasterRole -Identity “EBM-TFS” -OperationMasterRo …

ntdsutil:

fsmo 維護:傳輸命名主機 ldap_modify_sW 錯誤 0x34(52 (Unavailable)。ldap 擴展錯誤消息為 000020AF: SvcErr: DSID-0321041F,問題 5002 (UN AVAILABLE),數據 -2146893022

返回的 Win32 錯誤為 0x20af(請求的 FSMO 操作失敗。無法聯繫目前的 FSMO 持有者。))

不過沒關係,因為我能夠執行@joeqwerty 的建議三(重新執行 adprep /forestprep 沒有 /forest Dev),這很成功,並且我能夠繼續進行 Windows 升級過程。

  1. 從伺服器上的命令提示符執行以下命令並確認伺服器知道 FSMO 角色持有者的位置:

網路查詢 FSMO 2. 驗證伺服器是否為 DNS 正確配置。如果它是域中唯一的域控制器/DNS 伺服器,那麼它應該將自身用於主 DNS,並將 127.0.0.1 用於輔助 DNS。 3. 在沒有/forest Dev的情況下重新執行 adprep /forestprep 。我從未見過 adprep 使用指定域的選項執行,並且在您的方案中不應該需要它。

執行NETDOM QUERY FSMO以查看狀態。

如果 Schema 角色不可用或與不再可用的系統相關聯,您可能需要抓住它。

https://docs.microsoft.com/en-us/troubleshoot/windows-server/identity/transfer-or-seize-fsmo-roles-in-ad-ds

引用自:https://serverfault.com/questions/1090562