为 Netlogon 服务启用调试日志记录

本文介绍在 Windows 中启用服务日志记录 Netlogon 以监视或排查身份验证、DC 定位符、帐户锁定或其他域通信相关问题的步骤。

适用于:Windows 10 - 所有版本、Windows Server 2016、Windows Server 2019 Windows Server 2012 R2
原始 KB 编号: 109626

更多信息

重要

此部分(或称方法或任务)介绍了修改注册表的步骤。 但是,注册表修改不当可能会出现严重问题。 因此,请务必严格按照这些步骤操作。 为了加强保护,应先备份注册表,再进行修改。 如果出现问题,可以还原注册表。 有关如何备份和还原注册表的更多信息,请单击下面的文章编号查看 Microsoft 知识库中相应的文章:

322756 如何在 Windows 中备份和还原注册表

包含跟踪的 Netlogon.dll 版本默认安装在所有当前受支持的 Windows 版本上。 若要启用调试日志记录,请使用 Nltest.exe、注册表或组策略设置所需的调试标志。 要执行此操作,请执行以下步骤:

对于 Windows Server 2019、Windows Server 2016、Windows Server 2012 R2

注意

这些步骤也适用于Windows 10。

若要启用 Netlogon 日志记录,请执行以下操作:

  1. (管理命令提示符窗口打开Windows Server 2012 R2 及更高版本) 的命令提示符窗口。

  2. 键入以下命令,然后按 Enter:

    Nltest /DBFlag:2080FFFF
    
  3. 通常不需要停止并重启 Netlogon Windows Server 2012 R2 或更高版本的服务来启用Netlogon日志记录。 与 Netlogon 相关的活动记录到 %windir%\debug\netlogon.log。 验证新写入此日志以确定是否需要重启 Netlogon 服务。 如果必须重启服务,请为Windows 10打开“命令提示符”窗口 (“管理命令提示符”窗口,Windows Server 2012 R2 及更高版本) 。 然后运行以下命令:

    net stop netlogon
    net start netlogon
    

    注意

    • 在某些情况下,可能需要对系统执行身份验证才能在日志中获取新条目,以验证是否已启用日志记录。
    • 使用计算机名称可能会导致不记录新的测试身份验证条目。

若要禁用 Netlogon 日志记录,请执行以下步骤:

  1. (管理命令提示符窗口打开Windows Server 2012 R2 及更高) 的命令提示符窗口。

  2. 键入以下命令,然后按 Enter:

     Nltest /DBFlag:0x0
    
  3. 通常不需要停止并重启 Netlogon Windows Server 2012 R2 或更高版本的服务来禁用Netlogon日志记录。 与 Netlogon 相关的活动记录到 %windir%\debug\netlogon.log。 验证是否未将新信息写入此日志,以确定是否需要重启 Netlogon 服务。 如果必须重启服务,请为Windows 10打开“命令提示符”窗口 (“管理命令提示符”窗口,Windows Server 2012 R2 及更高版本) 。 然后运行以下命令:

    net stop netlogon
    net start netlogon
    

启用 Netlogon 日志记录的替代方法

  • 在所有版本的 Windows 中,都可以使用使用注册表方法 启用/禁用日志记录部分中提供的注册表方法

  • 在运行 Windows Server 2012 R2 及更高版本的操作系统的计算机上,还可以使用以下策略设置来启用详细Netlogon日志记录, (值以字节为单位设置) :

    \计算机配置\管理模板\System\Net Logon\指定日志文件调试输出级别

注意

  • 十进制545325055值等效于启用详细 Netlogon 日志记录) 0x2080FFFF (。 此组策略设置以字节为单位指定。

  • 组策略 方法可用于更高效地在大量系统上启用Netlogon日志记录。 建议不要启用 Netlogon 适用于所有系统的登录策略,例如默认域策略。 相反,请考虑通过使用以下方法之一将范围缩小到可能导致问题的系统:

    • 使用此组策略设置创建新策略,然后向仅包含所需计算机帐户的组提供“读取”和“应用组策略”权限。
    • 将计算机对象移到其他 OU 中,然后在该 OU 级别应用策略设置。
使用注册表方法启用/禁用日志记录

若要启用日志记录,可能需要获取 Netlogon.dll 的已检查版本。

  1. 启动注册表编辑器。

  2. 如果存在,请删除以下注册表项的Reg_SZ值,创建名称相同的REG_DWORD值,然后添加 2080FFFF 十六进制值:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters\DBFlag

  3. 通常不需要停止并重启 Netlogon Windows Server 2012 R2 及更高版本的服务来启用Netlogon日志记录。 与 Netlogon 相关的活动记录到 %windir%\debug\netlogon.log。 验证新写入此日志以确定是否需要重启 Netlogon 服务。 如果必须重启服务, (管理命令提示符窗口打开Windows Server 2012 R2/Windows 10 及更高) 的命令提示符窗口。 然后运行以下命令:

    net stop netlogon
    net start netlogon
    

注意

  • 在某些情况下,可能需要对系统执行身份验证才能在日志中获取新条目,以验证是否启用了日志记录。
  • 使用计算机名称可能会导致不记录新的测试身份验证条目。

若要禁用 Netlogon 日志记录,请执行以下步骤:

  1. 在注册表编辑器中,将数据值更改为以下注册表项中的0x0:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters\DBFlag

  2. 退出注册表编辑器。

  3. 通常不需要停止并重启 Netlogon Windows Server 2012 R2、Windows 10 或更高版本的服务来禁用Netlogon日志记录。 与 Netlogon 相关的活动记录到 %windir%\debug\netlogon.log。 验证是否未将新信息写入此日志,以确定是否需要重启 Netlogon 服务。 如果必须重启服务,请打开“命令提示符”窗口 (管理命令提示符窗口,Windows Server 2012 R2/Windows 10 及更高版本的操作系统) 。 然后运行以下命令:

    net stop netlogon
    net start netlogon
    

设置日志的最大日志文件大小 Netlogon

  • MaximumLogFileSize 注册表项可用于指定Netlogon.log文件的最大大小。 默认情况下,此注册表项不存在,Netlogon.log文件的默认最大大小为 20 MB。 当文件达到 20 MB 时,会将其重命名为Netlogon.bak,并创建新的Netlogon.log文件。 此注册表项具有以下参数:

    • 路径: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters
    • 值名称:MaximumLogFileSize
    • 值类型:REG_DWORD
    • 值数据: <最大日志文件大小(以字节为单位)>
  • 请记住,日志记录使用 Netlogon 的总磁盘空间是在最大日志文件大小中指定的大小乘以 2 (2) 。 它需要容纳Netlogon.log和Netlogon.bak文件的空间。 例如,设置为 50 MB 可能需要 100 MB 的磁盘空间,这为 Netlogon.log 提供 50 MB 的磁盘空间,为 Netlogon.bak 提供 50 MB 的磁盘空间。

  • 如前所述,在 Windows Server 2012 R2 及更高版本的操作系统上,可以使用以下策略设置来配置日志文件大小, (值以字节为单位设置) :

    \Computer Configuration\Administrative Templates\System\Net Logon\Maximum Log File Size

有关详细信息,请单击以下文章编号以查看 Microsoft 知识库中的文章:
247811 域控制器在 Windows 中的位置