防止OU误删需提前启用“防止对象被意外删除”标志和AD回收站;二者缺一不可,否则删除后无法恢复。
防止ou被误删,核心就两条:提前设好“防手滑删除”标志,同时必须启用ad回收站。这两件事不提前做,一旦删了基本没得救。
怎么给OU加“防误删”保护
这个保护不是开关式全局功能,而是每个OU单独设置的一个标志位,叫 Protect from accidental deletion。它不继承、不自动生效,必须手动打开。
- 在「Active Directory 用户和计算机」中,先点「查看 → 高级功能」(否则看不到关键选项)
- 右键目标OU → 「属性」→ 切到「对象」选项卡
- 勾选「防止对象被意外删除」→ 点确定
勾选后,普通删除操作会直接报错“访问被拒绝”,连确认框都不弹——这是正常表现,说明保护已起效。
如果要批量保护所有OU,可用PowerShell一键执行:
Get-ADOrganizationalUnit -Filter * | Set-ADObject -ProtectedFromAccidentalDeletion $true
为什么开了保护还会被删掉
真正被删掉的OU,几乎都是因为:保护没开,或者被人手动取消了。域管理员权限再高,也绕不过这个标志位的拦截。
所以日常运维中要注意:
- 新建OU后立刻勾选保护,别等“回头再弄”
- 定期检查关键OU是否仍处于保护状态(尤其在权限调整或交接后)
- 避免用ADSIEDIT或LDP等低层工具绕过GUI直接修改对象属性,容易漏掉该标志
误删后还能不能找回
能找回的前提非常硬性:AD回收站必须在OU被删之前就启用。启用之后,删除操作才会把OU送进回收站;没启用,就只留墓碑,180天后彻底消失,不可逆。
检查是否启用回收站:
- 运行:Get-ADOptionalFeature -Filter {Name -eq "Recycle Bin Feature"}
- 看 EnabledScopes 是否有值。为空 = 没启用,现在启用也救不了已删的OU
如果已启用,还原步骤如下:
- 查被删OU:Get-ADObject -Filter {Deleted -eq $true -and ObjectClass -eq 'organizationalUnit'} -IncludeDeletedObjects
- 按原路径还原(推荐):Get-ADObject -LDAPFilter "(msDs-LastKnownRDN=Sales)" -IncludeDeletedObjects | Restore-ADObject
- OU里的用户、组不会自动还原,需单独查并恢复:Get-ADObject -SearchBase "CN=Deleted Objects,DC=domain,DC=com" -Filter {lastKnownParent -eq "OU=Sales,DC=domain,DC=com"} -IncludeDeletedObjects | Restore-ADObject
还原后记得人工核对:GPO链接是否还在、委托权限是否完整、ACL有没有丢失。
没有回收站怎么办
没启用回收站 + 没做系统状态备份 = 不可逆丢失。第三方工具(如Quest、Netwrix)也无能为力。唯一可能的补救路径是:
- 有开启AD审计日志,并且保存了完整的变更快照(极少见)
- 从最近一次系统状态备份中权威还原整个DC(影响大、耗时长、需停服)
所以别抱侥幸心理——回收站必须提前开,而且要定期验证它真在工作。

















