修复在域控制器升级过程中,在 windows server 2012 中确定目标环境是否需要 adprep 的错误

War*_*n P 9 active-directory windows-server-2012

我无法将我新安装的 Windows Server 2012 机器升级为域控制器。我有两个现有的域控制器。主要是在 Windows Server 2003 级别,并运行 W2003Server,次要运行 Windows Server 2003 R2。(更新:最初此问题询问有关域控制器无法定位的非致命警告消息,这在从 Windows Server 2003 升级时是正常的,因为在升级时无法创建只读域控制器活动目录林处于 2003 功能级别,所以我认为应该取消警告。在继续经历几个更类似的可怕错误之后,我终于找到了真正的错误,这是一个AdPrep相关的错误。)

在新的 Win2012 服务器机器上,作为域成员的服务器加入域工作正常。但是 AD DS Cfg Wiz 冻结了大约 100 秒,它从向导的第 1 页转到第 2 页(显示站点名称组合框和 DSRM 密码的两个密码条目编辑框)然后我在 Active Directory 域服务中收到此错误配置向导。

起初我认为这是真正的错误。但这只是我继续过去的一个障碍:

域控制器选项

在此域中找不到运行 Windows Server 2008、Windows Server 2008 R2 或 Windows Server 2012 的域控制器。要安装只读域控制器,域必须具有运行 Windows Server 2008、Windows Server 2008 R2 或 Windows Server 2012 的域控制器。

[好的]

接下来,我会收到一些类似的“您无法选中此复选框,因此我们已将其灰显”的消息,您可以继续过去。

接下来这个:

Error determining whether the target environment requires adprep: Validation error: 
Validation error: Unable to check forest upgrade status for server 
SERVERNAME.localdomain.local.
Exception: The specified server cannot perform the requested operation 
Details:Test.VerifyForestUpgradeStatus.ADPrep.Win32Exception.-2147467259 

[ OK  ]
Run Code Online (Sandbox Code Playgroud)

有没有人在 2003 年到 2012 年获得过域名?

更新结果我在域上没有活动的架构主机。

更新 2为了使出现此错误的未来用户受益,我显示了包含我看到的错误的屏幕截图:

在此处输入图片说明

Rex*_*Rex 7

您的林/域功能级别是 2003 年吗?您应该能够将 2012 域控制器添加到 2003 林中 - 前提是该林处于 2003 功能级别。

编辑:另外,检查您的 DNS 设置并确保它们是正确的,并且您可以解析正确的 srv 记录以定位域控制器

edit2:如果您尝试安装 RODC,则需要有 2008 可写 DC 才能安装只读 DC。


Mas*_*imo 7

如果您的所有域控制器至少是 Windows Server 2003,并且您的域和林功能级别都设置为至少 Windows Server 2003,则添加 Windows Server 2012 DC 应该可以正常工作:

http://technet.microsoft.com/en-us/library/hh994618.aspx#BKMK_FunctionalLevels

您至少需要一台 Windows Server 2008 DC 的唯一情况是您要添加只读域控制器。


编辑:

如果您收到的消息是此处显示的消息,那么它只是一个警告(从黄色感叹号图标应该可以清楚地看出);它不会阻止您继续,除非您实际上是在尝试安装 RODC。


War*_*n P 3

事实证明,我的域上没有活动的架构大师。我在这里询问如何获取活动模式所有者。该名称是有效的,但机器名称是一个早已关闭并退役的名称,但在它消失之前没有人转移模式主机角色。

这是我必须做的:

  1. 虽然 Windows Server 2012 尝试让您免于运行 adprep,但在某些情况下它无法做到这一点。就我而言,有人创建了一个域控制器,并将 PDC 角色转移到服务器,但没有转移架构主机角色,然后停用架构主服务器,而没有正常转移架构主机角色。当从 9 年前的 Windows 版本升级到最新版本时,诊断此类问题很困难,因为在 Windows Server 2012 中,您会收到 Win32 错误,并且这些错误只是大的负整数值,如我的问题所示。但即使是从 2003 升级到 2008 R2 的尝试也同样被阻止,并且没有显示任何有用的错误消息。当然,这是 ActiveDirectory 问题的典型情况。如果您去 TechNet 上查看,那么读取日志和运行命令行诊断实用程序是标准“故障排除流程图”的一部分。这是一个意外复杂的巨大沥青坑。

  2. 在上述情况下,只有在独立模式下运行 AdPrep 时,您才会收到有用的错误。遗憾的是,Windows Server 2012 中只有 64 位 adprep。使用 2008 r2 安装 DVD 来获取 32 位 adprep32.exe。

  3. 研究在独立命令行模式下运行 Windows 2008 R2 版本的 AdPrep 时出现的错误,我发现它归结为这样一个事实:我必须确保具有架构主机角色的域控制器计算机存在,并且在网络上处于活动状态。请注意,Windows Server 2012 上的 AdPrep 版本设计为从 2012 服务器运行,而不是像以前的 AdPrep 使用情况那样在角色主机上运行。如果您尝试在 32 位 Windows Server 2003 计算机上运行 AdPrep 工具,您将陷入困境,因为在 32 位计算机上 AdPrep.exe 甚至不会运行并打印任何错误消息。就我而言,不存在,我必须使用此链接使用 NTDSUTIL 主要帮助来“抓住”架构主机角色:

    http://technet.microsoft.com/en-us/library/cc976711.aspx

夺取schema master的具体帮助:

http://technet.microsoft.com/en-us/library/cc783650(v=ws.10).aspx

正如我在步骤 1 中所说,大多数人不会遇到这个问题,但业余 IT 圈子的混乱可能会导致其他人遇到类似的问题。

我还询问了如何从链接问题中的命令行识别活动模式主机名称,此命令可以找出模式主机是谁:

      netdom query fsmo
Run Code Online (Sandbox Code Playgroud)

然后我ntdsutil按照上面第3点的详细说明运行,抓住Schema Master角色来修复域,之后我就可以adprep正常运行了:

       adprep /forestPrep
       ...  <takes about 10 minutes and outputs several screens of info>
       adprep /domainPrep
       ...  <takes about 1 second and outputs about 15 lines>
Run Code Online (Sandbox Code Playgroud)

然后就adprep可以工作了。请注意,您还没有完成。Windows Server 2012 域控制器设置仍会因数百个其他问题中的任何一个而失败,此处无法列出。为了让它发挥作用,我必须做的其他事情:

  1. 删除 Symantec Endpoint Protection 并禁用 Windows 防火墙,以便 WMI 通过网络运行,这是新域控制器与旧域控制器通信所必需的。

  2. 修复一些DNS 配置错误,然后运行ipconfig /flushdns,包括删除未正确退役的退役服务器,这意味着基本上要进入 AD 管理屏幕并删除这些服务器。其他 DNS 错误可能包括缺少反向 DNS 记录等。

  3. 如果通过 WMI/DCOM 通信时出现错误,请确保修复服务权限或其他可能阻止 WMI 和 DCOM 工作的错误。