首页/系统/Windows 运维速查/4720/4726 账户创建与删除

4720/4726 账户创建与删除

域或本机账户被创建/删除(4720/4722? 4720 创建、4726 删除):变更审计与人效核查的第一手证据。

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

账户变更事件是什么

4720 记“创建用户账户”,4726 记“删除用户账户”,它们与 4722 启用、4725 禁用、4738 修改属性一起,构成账户生命周期的审计轨迹。这些都写在 Security 通道,域账户记录在域控上,本地账户记录在各自机器上。没人申报的建号删号,是后门最直白的手法之一。

基本信息

适用平台Windows Server 2008 及以上;域控与本机各自记录
事件号4720 创建、4726 删除、4722 启用、4725 禁用、4738 修改属性
关键字段目标账户、执行者、时间、来源工作站
前置条件“审核用户帐户管理”策略需启用,默认在域控已开启

典型使用场景

  • 离职流程核对:确认账号已禁用并删除,动作可在日志里逐个对上
  • 入侵排查:攻击者常新建隐藏账号(末尾带 $)做持久化
  • 批量建号审计:IT 批量导入后核对数量与命名规范是否一致
  • 权限复核:某账户被加入高权组的时间点,与 4720/4738 连起来看
  • 合规检查:人事系统账号与 AD 账号的增删记录对账

常用示例

常用示例
# 近 7 天的账户创建/删除/改属性事件
Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4720,4726,4738,4722,4725; StartTime=(Get-Date).AddDays(-7)} |
  Select-Object TimeCreated, Id, @{n='Target';e={$_.Properties[0].Value}}, @{n='By';e={$_.Properties[4].Value}} |
  Format-Table -AutoSize
# 关注隐藏账号的常见特征:账户名以 $ 结尾
Get-ADUser -Filter 'SamAccountName -like "*$"' | Select-Object Name, SamAccountName, Enabled
本机与域控各自记录:域账号的新建/删除只在域控的 Security 日志里,普通成员服务器的记录里找不到。做域级审计要把所有域控的日志都收上来。
批量建号会产生大量 4720,人工逐条看没有意义。做法是把自动化账号与批量窗口纳入白名单,只对白名单之外的建删动作告警。

账户生命周期事件对照

事件号动作审计关注点
4720创建账户来源工作站与执行者是否可解释
4722启用账户离职后重新启用要能对上审批
4725禁用账户离职流程是否真的执行了
4726删除账户删除后其权限残留是否清理
4738修改属性属性变更常被用来提权或留后门
4740账户锁定多为失败尝试或服务存了旧密码
日志里出现“由某服务账号创建用户”要立刻核实:自动化脚本会用自己的身份建号,一旦该服务账号泄露,攻击者就能借此长期维持访问而不惊动人工审批流程。

易错点

  • 只在成员服务器上找域账号变更记录:审计方向错了,域控日志才是唯一来源
  • 忽略末尾带 $ 的隐藏账户:这类账号在 net user 与图形界面里都不显示,必须靠日志和 AD 查询发现
  • 审核策略未开就以为没发生:账户管理审核关闭时事件根本不会写,不存在“日志被删”的可能
  • 只记录不告警:4720/4726 的价值在于实时发现异常,事后翻日志成本高得多
  • 删除账号(4726)不等于清理干净:其组成员关系、服务凭据、计划任务身份都要单独核查

数据来源与参考

  • Microsoft Learn:4720 事件
  • Microsoft Learn:4726 事件

相关工具

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