首页/系统/Windows 运维速查/4740 账户锁定事件

4740 账户锁定事件

账户被锁的判定事件:含目标账户与“调用方计算机名”,锁定排查的起点就是它(见场景条目)。

Windows 运维速查系统更新于 2026-10-13

4740 账户锁定事件是什么

4740 是账户被锁定这个动作本身产生的事件,它记录了被锁的账号、所在域以及“调用方计算机名”。最后这个字段是排查的关键:它直接告诉你哪台机器在反复尝试用错误口令登录。实际工作中多数锁定不是攻击,而是用户换了密码之后,某台设备或某个服务还在用旧口令轮询,找到那台机器,问题就解决了。

基本信息

适用平台Windows 安全日志,需启用登录与账户管理审核
关键字段TargetUserName、TargetDomainName、CallerComputerName
日志位置域环境在各域控安全日志;本机账户在本地安全日志
前置条件账户锁定策略已设置阈值(否则永不锁定)
配套事件4625 登录失败,可用来补齐来源信息
排查要点多域控环境要按需并查全部域控

典型使用场景

  • 用户报“账号被锁”,定位是哪台设备在反复出错
  • 排查服务账户锁定:找出以旧口令运行的机器或服务
  • 安全事件初期判断是否为暴力破解尝试
  • 核实锁定策略是否按预期生效
  • 锁定频率异常升高时,作为账号被盯上的信号

常用示例

常用示例
# 在域控或 PDC 模拟角色上执行
Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4740; StartTime=(Get-Date).AddHours(-24)} | Select-Object TimeCreated, @{n='用户';e={$_.Properties[0].Value}}, @{n='来源机器';e={$_.Properties[1].Value}} | Format-Table -AutoSize
Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4740} -MaxEvents 1 | Format-List Message   # 看完整消息体
Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4625; StartTime=(Get-Date).AddHours(-24)} | Where-Object { $_.Message -match 'ops01' } | Select-Object TimeCreated, @{n='来源';e={$_.Properties[19].Value}}   # 用失败登录补齐来源
net accounts                                                                                   # 核对本机锁定策略

关键字段读法

字段含义排查用法
TargetUserName被锁定的账号先确认是不是服务账户
TargetDomainName账号所属域多域环境定位到具体域
CallerComputerName发起方计算机名直接指向问题设备
事件时间锁定发生时刻对照失败登录的时间线
来源为空常见于网络层认证改用 4625 补齐线索
锁定排查的顺序是“哪个账号被锁 → 什么时间 → 哪台机器在不断试”,找到来源机器后检查它上面保存的旧凭据:映射的共享、计划任务、常驻服务、手机上的邮件客户端都是高发位置。
锁定阈值设置过低会让任何人都能用错误口令把同事账号锁掉,形成低成本拒绝服务;同时阈值设为 0(永不锁定)又会让在线爆破畅通无阻,需要按环境权衡。

易错点

  • 只看单台域控的日志,多域控环境下漏掉真正的锁定来源
  • 拿到 CallerComputerName 就直接关机器,没确认上面是否还有业务服务在跑
  • 把锁定一律当成攻击,忽略了改完密码后各处残留的旧凭据才是常态原因
  • CallerComputerName 为空就放弃排查,其实 4625 里还有线索可继续追

数据来源与参考

  • Microsoft Learn:4740 事件

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌