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

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

原始 KB 数: 109626

详细信息

重要

此部分(或称方法或任务)介绍了修改注册表的步骤。 但是,注册表修改不当可能会出现严重问题。 因此,按以下步骤操作时请务必谨慎。 作为额外保护措施,请在修改注册表之前先将其备份。 如果之后出现问题,您就可以还原注册表。 有关如何备份和还原注册表的详细信息,请单击下面的文章编号,查看相应的 Microsoft 知识库文章:

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

默认情况下,所有当前受支持的 Windows 版本都安装了包含跟踪的Netlogon.dll版本。 若要启用调试日志记录,请使用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 日志记录(值以字节为单位):

    \Computer Configuration\Administrative Templates\System\Net Logon\Specify log file debug output level

注意

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

  • 组策略方法可用于更高效地启用 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)的最大日志文件大小中指定的大小。 需要容纳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 中的定位方式