必须通过域级gpo配置审核策略、为目标ad对象手动添加sacl、并将安全日志设为≥2048mb且禁用自动覆盖,三者缺一不可,否则event id 4662不会生成或记录不全。

在域控制器中启用目录服务详细审计日志,不是只开个开关就行,而是要策略配置 + 对象级SACL设置 + 日志容量保障三者同时到位。缺一不可,否则Event ID 4662(目录服务访问)根本不会出现,或只记录极少量事件。
必须通过域级GPO配置审核策略
不能用本地组策略编辑器(gpedit.msc)——它只影响本机登录行为,对AD DS操作无效。所有域控制器必须统一应用域级策略:
- 以域管理员身份打开组策略管理控制台(GPMC.msc)
- 定位并编辑Default Domain Controllers Policy
- 路径:计算机配置 → 策略 → Windows 设置 → 安全设置 → 高级审核策略配置 → 目录服务审核
- 启用:审核目录服务访问(勾选“成功”和“失败”)
- 同步启用其他关键项:账户登录、账户管理、特权使用、系统事件(确保基础行为可追溯)
为具体AD对象手动添加SACL
仅开启策略还不够——AD不会自动审计所有对象。必须为目标OU、用户、组或容器显式配置系统访问控制列表(SACL):
- 打开Active Directory 用户和计算机(dsa.msc),启用“高级功能”(查看 → 高级功能)
- 右键目标OU或用户 → “属性” → “安全”选项卡 → 点击“高级”
- 切换到“审核”选项卡 → 点击“添加” → 选择DOMAIN CONTROLLERS$(域控制器计算机账户,不是Domain Admins)
- 在“应用于”中选“该对象和所有子对象”,勾选:成功和失败下的“Directory Service Access”
- 确认后,后续对该OU内用户的属性修改、密码重置、组成员变更等操作才会触发4662事件
调大安全日志并禁用自动覆盖
默认512KB容量+自动覆盖,几小时就清空,等于没开。必须立即调整:
- 打开事件查看器(eventvwr.msc) → 左侧展开“Windows 日志” → 右键“安全” → “属性”
- 将最大日志大小设为至少2048MB(建议4096MB)
- 取消勾选“将审核日志满时覆盖事件”(注意:这个选项名有误导性,勾选=允许覆盖,必须取消)
- 检查系统盘剩余空间,确保≥20GB空闲;若空间紧张,优先清理Application/System日志,绝不压缩安全日志
验证是否真正生效
配置完别急着走,立刻验证:
- 在另一台域成员机上,用普通域用户尝试修改自己密码(触发4723)、或用管理员重置他人密码(触发4724)
- 回到DC的事件查看器 → 筛选“安全”日志,查找ID为4662的事件,确认“操作类型”含“属性修改”、“密码更改”等字段
- 运行PowerShell命令快速确认:
Get-WinEvent -LogName Security -FilterXPath "*[System[(EventID=4662)]]" -MaxEvents 5 - 若无结果,检查SACL是否漏配、GPO是否未刷新(
gpupdate /force后重启Netlogon服务)











