我正在使用此处的说明将我的 Windows Server 2012 AD 控制器升级到 Windows Server 2019。此服务器是一个独立的 AD 控制器,没有其他服务器/客户端以任何方式连接到它。
当我在此服务器上运行以下命令时:
./adprep.exe /forestprep /forest Dev
我遇到以下错误:
Adprep 无法联系 Schema FSMO STORMDEMO.DEV.EBM.COM。必须可以访问 Schema FSMO 才能继续执行此操作。[状态/结果] Active Directory 域服务架构未升级。[用户操作] 检查 C:\Windows\debug\adprep\logs\20220119160049 目录中的日志文件 ADPrep.log 以查找可能的故障原因。
Adprep 遇到 Win32 错误。错误代码:0x2095 错误消息:发生了目录服务错误。
Adprep 无法检查指定用户的组成员身份。[状态/结果] Adprep 已停止且未做任何更改。[用户操作] 如果指定了 /forestprep,则验证指定用户是否是企业管理员组和架构管理员组的成员;如果指定了 /domainprep,则验证指定用户是否是域管理员组的成员;如果指定了 /rodcprep,则验证指定用户是否是企业管理员组的成员。
Adprep 遇到 Win32 错误。错误代码:0x2095 错误消息:发生了目录服务错误。
此错误阻止我继续进行 Windows 升级过程。我检查了运行此程序的用户帐户,并尝试以提升的权限在“管理员”帐户下运行它,但总是出现相同的错误消息。我的用户帐户和“管理员”用户帐户是上述组的成员。
通过谷歌搜索特定的错误消息(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”角色(首先我运行实用程序,失败了,然后我运行移动-ADDirectoryServerOperationMasterRole-身份“EBM-TFS”-OperationMasterRole schemaMaster),但我没能凭借这个或“ntds实用程序“:
Move-ADDirectoryServerOperationMasterRole:目录服务不可用,第 1 行,字符:1
- 移动-ADDirectoryServerOperationMasterRole-身份“EBM-TFS”-OperationMasterRo...
ntds实用程序:
fsmo 维护:传输命名主 ldap_modify_sW 错误 0x34 (52 (不可用)。Ldap 扩展错误消息为 000020AF:SvcErr:DSID-0321041F,问题 5002 (不可用),数据 -2146893022
返回的 Win32 错误为 0x20af(请求的 FSMO 操作失败。无法联系当前 FSMO 持有者。))
但这并不重要,因为我能够运行@joeqwerty 提出的第三条建议(重新运行 adprep /forestprep 而不使用 /forest Dev),并且成功了,我能够继续进行 Windows 升级过程。
答案1
从服务器上的命令提示符运行以下命令并确认服务器知道 FSMO 角色持有者的位置:
netdom 查询 FSMO
验证服务器的 DNS 配置是否正确。如果它是域中唯一的域控制器/DNS 服务器,则它应使用自身作为主 DNS,并使用 127.0.0.1 作为辅助 DNS。
重新运行 adprep /forestprep 而不/森林开发。我从未见过 adprep 运行时带有指定域的选项,并且在您的场景中不需要它。
答案2
运行NETDOM QUERY FSMO
查看状态。
如果 Schema 角色不可用或者与不再可用的系统关联,则可能需要夺取它。