如何在 Active Directory 中查看用户登录历史?

要全面了解 Active Directory 用户的登录活动,首先需要启用登录审计,然后通过事件查看器、PowerShell 或专业审计工具(如 ADAudit Plus)查看安全事件日志中的关键事件 ID,例如成功登录(4624)和失败登录(4625)。

一、要查看Active Directory用户登录历史,请按照以下步骤启用审计:

  1. 运行 gpmc.msc 打开组策略管理控制台。
  2. 创建一个新的 GPO。
  3. 编辑 GPO,导航到:计算机配置 > 策略 > Windows 设置 > 安全设置 > 高级审计策略配置 > 审计策略。

    在登录 / 注销部分:
    审计登录:勾选成功和失败・审计注销:勾选成功・审核其他登录 / 注销事件:勾选成功

    在账户登录部分:
    审计 Kerberos 认证服务:勾选成功和失败

  4. 要将新的GPO与你的域名关联,请右键点击你的域名。选择“链接现有的GPO”,然后选择你创建的GPO。

默认情况下,组策略每 90 分钟自动更新一次。如需立即生效,可运行:gpupdate /force

二、如何在事件查看器中查看登录事件

启用审计后,所有登录相关事件都会记录在 Windows 日志 > 安全 中。

常见登录事件 ID 如下:

  • 4624:账户成功登录
  • 4634:账户被登出
  • 4647:用户主动登出
  • 4625:登录失败

这些事件默认记录在用户登录的本地计算机上。

若只需监控域环境中的登录活动,可在域控制器上查看以下事件:

  • 4768:Kerberos TGT 请求(表示用户凭据验证成功)
  • 4771:Kerberos 预认证失败(表示登录尝试失败)

登录 ID 可用于关联登录与注销事件,从而分析用户的登录时长。

标题

三、原生审计方法的局限性及更高效的解决方案

虽然 Windows 原生审计可以记录登录事件,但在实际使用中存在以下局限:

  • 本地登录和注销事件仅保存在终端设备,不会自动同步到域控制器
  • 域控制器无法区分登录类型(如交互式、远程桌面、网络登录等)
  • 域控制器不记录注销事件,无法准确统计登录时长
  • 需要从多台设备手动收集日志,管理复杂且效率低

那么,如果有更简单的方法来审计登录活动呢?像ADAudit Plus这样的工具会审计特定的登录事件以及当前和过去的登录活动,提供所有登录相关变更的列表。

标题

ADAudit Plus 能够自动收集并整合所有登录事件,提供直观的报告,包括:

  • 用户登录历史
  • 域控制器登录历史
  • Windows 服务器登录历史
  • 工作站登录历史

其网页界面支持图表、统计分析和自定义报告,使管理员能够快速掌握谁在何时、从何地登录了系统。

此外,ADAudit Plus 还提供文件审计、权限变更监控、合规报告(SOX、HIPAA、GDPR 等)、攻击检测与响应自动化等功能,是企业实现全面 IT 审计与安全合规的一站式平台。

常见问题(FAQs)

  1. 我可以用PowerShell查看用户登录历史吗?

    是的。PowerShell可用于查询安全日志,并通过事件ID、用户名和时间范围进行过滤。这比手动检查事件查看器快。 

  2. 登录历史在Active Directory中保存多久?

    保留期限取决于你的安全日志大小以及覆盖每台机器的设置。日志满后,旧条目会被覆盖。增加日志大小或将日志集中管理在 审计工具中,有助于更长时间地存储登录历史。

  3. 我需要先启用审计功能才能查看用户登录历史吗? 

    是的。登录事件默认不会被记录。您必须在高级审计政策>登出/注销下启用相应的审计策略,以确保所有登录和注销事件都被捕获。