我的问题是重新启动客户端时未应用组策略。引导后,客户端立即在事件日志中以源“ GroupPolicy(Microsoft-Windows-GroupPolicy)”和事件ID 1058发送错误消息:“组策略处理失败。[...]”。在“详细信息”选项卡中,ErrorCode为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.
等待一两分钟后,执行同一命令将显示目录列表。此时运行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显示以下内容:
- 客户端建立到DC的端口445的TCP连接,并且成功执行了ComNegotiation(DialectRevision:0x02FF)。
- 此后,立即成功进行了协商。DialectRevision为0x0302。
- 此后,客户端立即使用TCP RST(??)关闭TCP连接。
以后每次我发出命令并收到错误消息时,都会发生步骤2和3。
当该命令开始起作用时,将执行步骤1和2,但是不是客户端发送TCP RST,而是执行SessionSetup,而是执行TreeConnect,然后发生大量(看似正常)SMB聊天。
因此,客户端似乎无法以某种方式在引导后一两分钟后才与DC正确地对话SMB,这会导致组策略处理失败。
有人知道我该如何调试和解决此问题?