启动域成员时,会记录 Netlogon 事件 ID 5719 或 组策略 事件 1129

本文解决了启动域成员时记录的 Netlogon 事件 ID 5719 或 组策略 事件 1129。

适用于:Windows 10 - 所有版本,Windows Server 2012 R2
原始 KB 编号: 938449

症状

重要

请仔细遵循本部分中的步骤进行操作。 对注册表修改不当可能会导致严重问题。 修改之前,备份注册表以便在发生问题时进行还原

请考虑以下方案:

  • 你有一台运行 Windows 10 或 Windows Server 2012 R2 的计算机。
  • 计算机已加入域。
  • 以下条件之一为 true:
    • 计算机安装了千兆位网络适配器。
    • 使用网络访问保护 (NAP) 、使用 802.1x) 或其他方法 (网络身份验证来保护网络访问。

在这种情况下,在 Windows 8.1 和早期版本中启动计算机时,系统日志中记录了以下事件。 在 Windows 10 及更高版本中,在这种情况下不再记录事件 5719。 以下行改为记录在 Netlogon.log 中:

[CRITICAL] [960] CONTOSO: NlSessionSetup: Session setup: cannot pick trusted DC  
[SESSION] [960] No IP addresses present, skipping No DC event log

发生此问题后,会为计算机分配 IP 地址:

[SESSION] [960] V6 Winsock Addrs: fe80::5faf:632a:f22c:644a%2 (1) V6WinsockPnpAddresses List used to be empty.  
[SESSION] [960] Winsock Addrs: 10.1.1.80 (1) List used to be empty.

在Windows 10及更高版本上,你将仅按组件看到事件,具体取决于域控制器连接 ((例如组策略) )。 组策略调试日志中记录了以下条目:

CGPApplicationService::MachinePolicyStartedWaitingOnNetwork.  
CGPMachineStartupConnectivity::CalculateWaitTimeoutFromHistory: Average is 388.
CGPMachineStartupConnectivity::CalculateWaitTimeoutFromHistory: Current is -1.
CGPMachineStartupConnectivity::CalculateWaitTimeoutFromHistory: Taking min of 776 and 30000.  
Waiting for SamSs with timeout 776

NlaQueryNetSignatures returned 1 networks  
NSI Information (Network GUID) : {395DB3C8-CE45-11E5-9739-806E6F6E6963}  
NSI Information (CompartmentId) : 1  
NSI Information (SiteId) : 134217728  
NSI Information (Network Name) :  
NlaGetIntranetCapability failed with 0x15  
There is no domain compartment  
ProcessGPOs(Machine): MyGetUserName failed with 1355.  
Opened query for NLA successfully  
NlaGetIntranetCapability returned Not Ready error. Consider it as NOT intranet capable.  

GPSVC(530.ae0) <DateTime> There is no connectivity  
GPSVC(530.8e0) <DateTime> ApplyGroupPolicy: Getting ready to create background thread GPOThread.

第一部分显示用于启动网络的超时计算。 它可以基于以前的快速启动。

第二部分显示网络位置感知 (NLA) 无法在允许的等待间隔内报告工作网络,组策略启动处理失败。 第三部分显示组策略引擎启动后台过程,然后在网络可用后等待一分钟。

原因

出现此问题的原因可能为以下任一原因:

  • Netlogon 服务在网络准备就绪之前启动。 网络堆栈和适配器初始化通常大约同时开始。 某些网络适配器和交换机具有链接仲裁和 MAC 地址唯一性检查,完成这些检查所需的时间比为 Netlogon 检测网络连接而设置的等待时间长。
  • 验证新网络成员运行状况的解决方案会延迟网络连接和你访问域控制器的能力。 如果启用了自动直接访问通道连接,则可能还需要比 Netlogon 允许的更多时间来执行操作。
  • 802.1X 身份验证过程延迟到域控制器的连接。
  • 客户端在从 DHCP 服务器检索 IP 地址时遇到延迟。 它会延迟网络接口的显示。

在 Windows Vista 和更高版本中编写组策略来协商已启用 NLA 的网络状态。 它会等待具有 DC 连接的网络。 但是,由于策略应用程序,组策略可能会过早启动。 当发现网络延迟在启动之间交替时,这种情况尤其如此。

警告

如果使用注册表编辑器或使用其他方法错误地修改了注册表,则可能会发生严重问题。 这些问题可能需要重新安装操作系统才能解决。 Microsoft 不能保证可以解决这些问题。 修改注册表的风险由您自行承担。

解决方法 1

若要解决此问题,请安装千兆位网络适配器的最新驱动程序。 或者,在网络交换机上启用 PortFast 选项。

解决方法 2

若要解决此问题,请使用注册表更改影响 DC 连接的相关设置。 为此,请使用以下方法。

方法 1

调整已更改为允许 DC 连接的防火墙设置或 IPSEC 策略。 当客户端收到 IP 地址,但需要更多时间来访问域控制器时(例如,在通过 Cisco NAC 或 Microsoft NPS 服务成功验证后),会进行这些更改。

方法 2

Netlogon 注册表设置配置为安全超出所需时间允许 DC 连接的值。

注意

仅当计算机已有 IP 地址时,这才有效。 这适用于 NAP 解决方案将计算机放入隔离网络的方案。 使用以下设置作为准则。

注册表子项:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Netlogon\Parameters
值名称:ExpectedDialupDelay
数据类型:REG_DWORD
数据值以秒为单位, (默认值为 0 )
数据范围为 0 到 600 秒 (10 分钟)

有关详细信息,请参阅 最小化定期 WAN 流量的设置

方法 3

IP 堆栈尝试使用 ARP 广播验证 IP 地址。 它会延迟 IP 联机所需的时间。 可以将 ArpRetryCount 注册表项设置为 1 (1) ,以便缩短唯一性的等待时间。 要执行此操作,请执行以下步骤:

  1. 启动注册表编辑器。

  2. 找到并选择以下子项:
    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\TcpIp\Parameters\

  3. “编辑” 菜单上,指向“ 新建”,然后选择“ DWORD 值”。

  4. 键入 ArpRetryCount

  5. 右键单击 ArpRetryCount 注册表项,然后选择“ 修改”。

  6. “值数据 ”框中,键入 1,然后选择“ 确定”。

    注意

    数据范围介于 0 和 3 之间, (3 是默认) 。

  7. 退出注册表编辑器。

方法 4

通过更改 NegativeCachePeriod 以下子项中的注册表项来缩短 Netlogon 负缓存期:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters\NegativeCachePeriod

进行此更改后,Netlogon 服务的行为不会像域控制器脱机 45 秒一样。 仍记录事件 5719。 但是,该事件不会导致任何其他重大问题。 如果进程以前失败,此设置允许成员提前尝试域控制器。

建议:尝试设置较低的值,例如 3 秒。 在 LAN 环境中,可以使用值 0 来关闭负缓存。

有关此设置的详细信息,请参阅 最小化定期 WAN 流量的设置

方法 5

Kerberos 注册表设置配置为安全超出所需时间允许 DC 连接的值。 使用以下设置作为准则。

注意

此设置仅适用于 Windows XP 和 Windows Server 2003 或早期版本的这些系统。 Windows Vista 和 Windows Server 2008 及更高版本使用默认值 0。 此值关闭 Kerberos 客户端的用户数据报协议 (UDP) 功能。

注册表子项:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\Kerberos\Parameters
值名称:MaxPacketSize
数据类型:REG_DWORD
值数据:1
默认值: (取决于系统版本)

有关详细信息,请参阅 如何在 Windows 中强制 Kerberos 使用 TCP 而不是 UDP

方法 6

通过将以下值添加到 Tcpip 注册表子项来禁用 TCP/IP 的媒体感知:

注册表子项:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters
值名称:DisableDHCPMediaSense
数据类型:REG_DWORD
值数据:1
值范围:布尔 ( 0 =False,1 =True)
默认值:0 (False)

有关详细信息,请参阅 如何在 Windows 中禁用 TCP/IP 的媒体感知功能

方法 7

组策略具有用于控制启动策略处理的等待时间的策略设置:

  1. 企业 LAN 或 WLAN:

    策略文件夹:“计算机配置\管理模板\System\组策略”
    策略名称:“指定启动策略处理等待时间”

  2. 外部 LAN 或 WLAN:

    策略文件夹:“计算机配置\管理模板\System\组策略”
    策略名称:“指定策略处理的工作区连接等待时间”

Netlogon 获取工作 IP 所需的时间可能是设置的基础。 对于直接访问方案,可以测量用户群在建立连接之前的典型延迟。

方法 8

如果 DisabledComponents 注册表设置已到位,并且 0xfffffff的值不正确,请删除该键或将其更改为 0xff的预期值。

重要

Internet 协议版本 6 (IPv6) 是 Windows Vista 和更高版本的 Windows 的必需部分。 我们建议不要禁用 IPv6 或其组件。 如果禁用,某些 Windows 组件可能无法正常工作。 此外,如果 IPv6 被错误地禁用,则系统启动将延迟 5 秒,方法是将 DisabledComponents 注册表设置设置为 值 0xfffffff。 正确的值为 0xff

方法 9

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

可以设置注册表值来延迟组策略的应用:

  1. 启动注册表编辑器。

  2. 找到并选择以下子项:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon

  3. “编辑” 菜单上,指向“ 新建”,然后选择“ DWORD 值”。

  4. 键入 GpNetworkStartTimeoutPolicyValue

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

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

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

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

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

更多信息

如果可以毫无问题地登录到域,则可以放心地忽略事件 ID 5719。 由于 Netlogon 服务可能在网络就绪之前启动,因此计算机可能无法找到登录域控制器。 因此,记录事件 ID 5719。 网络准备就绪后,计算机将再次尝试查找登录域控制器。 在这种情况下,操作应成功。

在Netogon.log中,可能会记录类似于以下示例的条目:

DateTime [CRITICAL] <domain>: NlDiscoverDc: Cannot find DC. DateTime [CRITICAL] <domain>: NlSessionSetup: Session setup: cannot pick trusted DC DateTime [MISC] Eventlog: 5719 (1)"<domain>" 0xc000005e ... DateTime [SESSION] WPNG: NlSetStatusClientSession: Set connection status to c000005e ... DateTime [SESSION] \Device\NetBT_Tcpip_{4A47AF53-40D3-4F92-ACDF-9B5E82A50E32}: Transport Added (10.0.64.232) -> Getting a proper IP address takes >15 seconds.

需要域控制器连接才能正常工作的其他组件可能会报告类似的错误。 例如,组策略可能不会在系统启动时应用。 在这种情况下,启动脚本不会运行。 组策略失败可能与 Netlogon 未能找到域控制器有关。 可以设置组策略,以便对延迟的网络连接到达做出更迅速的响应。