4738 账户属性修改是什么
4738 记录的是「用户账户被更改」,覆盖账户属性的调整,某些改密流程也会顺带留下这条记录。它字段特别多、位置也靠后,很容易被忽略,单看它并不足以判定一次改密行为,需要和 4723(用户自己改密码)、4724(管理员重置密码)放在一起看,才算完整证据链。
基本信息
| 适用平台 | Windows 安全日志(需开启账户管理审核) |
|---|---|
| 事件含义 | 用户账户属性被修改 |
| 相关事件 | 4720 创建、4726 删除、4723 自己改密、4724 管理员重置 |
| 关键字段 | 目标账户、执行者、被修改的字段 |
| 读取权限 | 需要管理员身份 |
典型使用场景
- 追踪某个账户被谁改过、改了什么,如描述、登录时间限制
- 配合 4723 与 4724 还原一次改密行为的完整链条
- 排查离职流程里账号被批量清理时的操作来源
- 审计中确认是否存在非授权时段的账户属性变更
- 定位「账号突然登录不了」是否由某次属性修改造成
- 汇总账户管理类事件的执行者,做特权操作统计
常用示例
常用示例
Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4720,4723,4724,4726,4738} -MaxEvents 30 |
Select-Object TimeCreated, Id, @{n='Target';e={$_.Properties[0].Value}}, @{n='By';e={$_.Properties[4].Value}} |
Format-Table -AutoSize
# 只看某个账户相关的变更(索引与字段需按本机核对):
Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4738} -MaxEvents 50 |
Where-Object { $_.Message -match 'zhangsan' } | Select-Object TimeCreated, Message相关事件对照
| 事件 ID | 含义 | 用途 |
|---|---|---|
| 4738 | 账户属性被修改 | 属性变更的主体记录 |
| 4723 | 用户自己修改密码 | 改密链条的主要证据 |
| 4724 | 管理员重置密码 | 管理员干预的证据 |
| 4720/4726 | 创建与删除账户 | 账户生命周期管理 |
4738 的字段数量多,部分字段在不同系统版本上含义还有差异;排查时先聚焦目标账户、执行者、时间三要素,再决定是否深挖具体被改的项目。
部分管理工具与目录同步流程会产生冗余的 4738 记录,数量多不代表异常;判断时要看执行者身份与变更内容是否符合既有变更流程。