Windows 7 客户端在启动时间歇性地无法应用组策略

本文提供了 Windows 7 客户端在启动时间歇性无法应用组策略的问题的解决方案。

适用于: Windows 客户端 (所有受支持的版本)
原始 KB 编号: 2421599

症状

Windows 7 客户端在启动时或重新启动时间歇性地无法处理组策略。 系统事件日志中记录了以下事件:

错误 9/9/2010 2:43:29 PM NETLOGON 5719 错误 9/9/2010 2:43:31 PM GroupPolicy 1055

原因

此行为是由网络初始化、定位域控制器和处理组策略之间的争用条件引起的。 如果网络不可用,则找不到域控制器,并且组策略处理将失败。 加载操作系统并协商并建立网络链接后,组策略的后台刷新将成功。

以下事件序列反映了条件:

Information <DateTime> EventLog 6006 指示系统关闭
信息 <DateTime> e1kexpress 33 指示已建立网络连接链接的速度 </双工>
信息 <DateTime> EventLog 6005 指示事件日志服务已启动
信息 <DateTime> Dhcp-Client 50036 指示 dhcp 客户端服务已启动
DateTime <> NETLOGON 5719 错误指示 netlogon 无法访问任何域控制器
DateTime <> GroupPolicy 1055 错误指示组策略处理失败
信息 <DateTime> GroupPolicy 1503 指示组策略处理成功

也可以通过 netlogon 日志进行确认:

<DateTime> [SESSION] \Device\NetBT_Tcpip_{53267BA1-EB8C-4348-BD81-41C3FF162EE9}:传输添加 (<IP 地址>) <DateTime> [SESSION] Winsock Addr: <IP 地址> (1) 地址已更改。 <DateTime> [CRITICAL] NetpDcGetDcNext: _ldap._tcp.dc._msdcs.contoso.com.: 无法查询 DNS。 1460 0x5b4 <DateTime> [CRITICAL] NetpDcGetNameIp: contoso.com:未从 DnsQuery 返回任何数据。 <DateTime> [CRITICAL] DBG: NlDiscoverDc: 找不到 DC。 <DateTime> [CRITICAL] DBG: NlSessionSetup: 会话设置: 无法选取受信任的 DC <DateTime> [SESSION] DBG: NlSetStatusClientSession: 将连接状态设置为 c000005e <DateTime> [SESSION] DBG: NlSessionSetup: 会话设置失败

解决方案

若要解决此问题,可以设置注册表值以延迟组策略的应用:

  1. 打开注册表编辑器。

  2. 展开以下子项: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon

  3. 右键单击 Winlogon,指向 “新建”,然后选择“ DWORD 值”。

  4. 若要命名新条目,请键入 GpNetworkStartTimeoutPolicyValue,然后按 Enter。

  5. 右键单击 , GpNetworkStartTimeoutPolicyValue然后选择“ 修改”。

  6. 在“ 数”下,选择“ 十进制”。

  7. 在“值数据”框中,键入 60,然后选择“ 确定”。

  8. 退出注册表编辑器,然后重新启动计算机。

  9. 如果组策略启动脚本未运行,请增加注册表项的值GpNetworkStartTimeoutPolicyValue

更多信息

指定的值应足够长,以确保建立连接。 在超时期间,Windows 每两秒检查一次连接状态,并在确认连接后立即继续系统启动。 因此,建议在高端进行拼写检查。 如果系统 ((例如,断开连接的网络电缆、离线服务器等) )合法断开连接,则 Windows 将在整个超时期限内停止。

还可以通过组策略定义:

策略位置:计算机配置>策略>管理员模板>系统>组策略设置名称:启动策略处理等待时间注册表项:HKLM\Software\Policies\Microsoft\Windows\System!GpNetworkStartTimeoutPolicyValue

如果定义组策略设置,它将替代手动设置。 如果未定义手动和组策略设置,则会从以下注册表位置选取值:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\History

由于未定义超时期限,因此系统使用自己的算法来计算并到达平均超时周期。 此值存储在上述注册表位置。 它可能因系统而异,并取决于各种因素,例如以前的登录尝试。

注意

“启动策略处理等待时间”的组策略说明并不详细,并且未涵盖所有方案。 仅因为我们当前未配置策略并不意味着我们将使用默认超时值 30 秒。