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(永不锁定)又会让在线爆破畅通无阻,需要按环境权衡。