Windows 10:启动后无法直接应用组策略,稍后成功

Jur*_*jen 8 group-policy windows-server-2012-r2 windows-10

我的问题是当客户端刚启动时没有应用组策略。启动后,客户端立即在事件日志中发布一条错误消息,其中包含源“GroupPolicy (Microsoft-Windows-GroupPolicy)”和事件 ID 1058:“处理组策略失败。[...]”。在详细信息选项卡中,错误代码是 50,代表 ERROR_NOT_SUPPORTED。这不仅仅是一个表面问题:策略确实没有正确应用:例如,映射的网络驱动器不在那里。等待一段时间后,执行“gpupdate”工作并且策略正常应用:映射的网络驱动器出现。

我能够重现问题的最简单场景:在新安装的 Windows Server 2012R2 上新创建的域,客户端是新安装的 Windows 10 64 位机器。该域仅由一个域控制器组成,与其他域没有任何关系。

由于错误消息指出 Windows 无法从域的 Sysvol 共享中读取 .GPT 文件,因此我尝试从命令提示符访问相同的文件。事实上,当我在启动后立即打开命令提示符时,我得到了这个:

C:\Users\username>dir \\domain.example.com\sysvol
The request is not supported.
Run Code Online (Sandbox Code Playgroud)

等待一两分钟后,执行相同的命令将给出目录列表。此时运行 gpupdate 会正常工作。

我确实将组策略设置“在计算机启动和登录时始终等待网络”设置为“已启用”,并且我知道应用了此策略:在同一个策略对象中指定了一个注册表设置,当我检查注册表时在客户端上有指定的设置。

其他可能相关的因素:

  • NTLM 在域中受到限制,但这似乎无关紧要:即使在启用它、更新策略和重新启动所有计算机后,症状仍然相同。
  • 服务器是使用 DHCP 配置还是静态配置都没有关系。
  • 域的 DNS 服务器不支持动态更新。手动添加必要的记录(来自 C:\Windows\System32\config\netlogon.dns)
  • 在客户端上禁用休眠(使用powercfg /h off),因此每次启动都是完全启动,而不是快速启动
  • 策略启动策略处理等待时间设置为 120 秒
  • 与 DC 的连接工作正常。Ping 会起作用。关闭客户端,在AD中禁用我的帐户,打开客户端将导致客户端不登录我:它立即注意到该帐户被禁用。
  • 除了这个问题,我没有注意到任何异常。

这似乎更像是 SMB 问题而不是组策略问题。在服务器端嗅探连接显示了一些有趣的东西:我第一次执行命令时dir \\domain.example.com\sysvol,在 DC 上的 Microsoft Message Analyzer 中显示以下内容:

  1. 客户端与DC的445端口建立TCP连接,成功进行ComNegotiation(DialectRevision:0x02FF)。
  2. 紧接着,协商成功执行。方言修订版为 0x0302。
  3. 紧接着,客户端使用 TCP RST (??) 关闭 TCP 连接

每次我发出命令并收到错误时,都会发生第 2 步和第 3 步。

当命令开始工作时,会发生第 1 步和第 2 步,但不是客户端发送 TCP RST,而是执行 SessionSetup,然后是 TreeConnect,然后发生大量(看似正常的)SMB 喋喋不休。

因此,看起来客户端在启动后一两分钟之前不会正确地将 SMB 与 DC 通信,这会导致组策略处理失败。

有人知道我如何调试和解决这个问题吗?

小智 8

从 Windows 8 开始,Microsoft 引入了“快速启动”这一概念,当您关闭操作系统时,它们会休眠操作系统内存占用,就像 Hibernate 在正常休眠情况下工作一样。这会导致操作系统运行得更快,但它也有在启动时禁用每台计算机 GP 处理的副作用。这可能就是你所看到的,这可以通过禁用计算机配置\策略\管理模板\系统\关机\需要使用快速启动下的策略来禁用

如果这不能解决问题,那么很可能是网络堆栈计时问题,即在网络堆栈完全初始化之前,计算机的 GP 处理就开始了。自 XP 和 Windows 7 开始,这一直存在,Microsoft 在计算机配置\策略\管理模板\系统\组策略\启动策略处理等待时间下添加了一个策略,您可以在其中增加 GP 在启动之前等待的时间。尝试将其设置为 60 秒,看看是否有帮助。

达伦

  • 禁用您提到的 GPO 不会禁用快速启动。该设置的帮助说明“如果禁用或未配置此策略设置,则使用本地设置。” (2认同)

Jur*_*jen 7

我自己设法解决了这个问题。作为参考,这是解决我的问题的方法:

首先,我错了,禁用所有 NTLM 阻止会导致相同的症状。它导致了不同的症状,恰好具有相同的效果。如果没有任何有效的 NTLM 阻止策略,该dir命令现在会导致访问被拒绝错误。组策略仍然不适用,这是有道理的:SYSVOL 仍然无法访问。

一些网络搜索告诉我,我知道有一个更常见的问题。尽管。显然,Windows 10 客户端在访问域控制器的 SYSVOL 共享(可能还有 NETLOGON 共享)时可能会遇到问题。据说 Windows 10 改变了访问这些共享的方式,这可能会导致问题。解决方法是为这些共享在客户端上禁用 UNC 路径强化,方法是为 Windows 10 客户端设置“强化 UNC 路径”组策略,如下所示:

\\*\SYSVOL RequireMutualAuthentication=0,RequireIntegrity=0,RequirePrivacy=0
\\*\NETLOGON RequireMutualAuthentication=1,RequireIntegrity=1
Run Code Online (Sandbox Code Playgroud)

(如果您在从 Windows 10 客户端访问 Netlogon 共享时遇到问题,也可以帮助将该共享的所有三个参数设置为零。)

有关详细信息,请参阅Microsoft 关于 MS15-011文章。它包含对更改此设置的安全影响的良好描述,以及如何更改策略的详细步骤。

警告:请注意,上述设置禁用了针对安全问题 MS15-011 的部分或全部保护措施!不要只是盲目地复制/粘贴它们,而是根据所涉及的风险做出明智的决定。此外,这个问题很可能在未来的某个时候得到解决。发生这种情况时,不要忘记将此策略设置为建议值,如 MS15-011 中所述。