AD 回收站是什么
启用 AD 回收站后,被删除的用户、组、OU 等对象不会真正消失,而是进入“已删除对象”状态并保留一段时间(默认 180 天,可按 msDS-deletedObjectLifetime 调整)。这段时间内可以用 Restore-ADObject 把对象原地还原到原来的位置或指定 OU。这是域管理员最有价值的一项防线,因为误删 OU 的对象往往牵连成百上千个成员。
基本信息
| 适用平台 | Windows Server 2008 R2 起的林功能级别;PowerShell 用 AD 模块 |
|---|---|
| 启用状态 | Get-ADOptionalFeature -Filter 'Name -like "Recycle Bin Feature"' |
| 查找已删对象 | Get-ADObject -Filter 'isDeleted -eq $true' -IncludeDeletedObjects |
| 还原 | Restore-ADObject -Identity <对象GUID或DN> [-TargetPath <目标OU>] |
| 保留期 | 默认 180 天,过期后无法再用此方式恢复 |
典型使用场景
- 误删 OU:连同其中的用户与组一起被删除,用回收站整棵还原
- 误删用户:还原后复核组成员关系与登录状态
- 误删组:还原组对象后确认成员列表是否完整
- 变更事故:脚本批量改错时先还原到操作前状态
- 合规核验:确认域回收站已启用并纳入 AD 基线检查项
常用示例
常用示例
# 确认回收站是否启用
Get-ADOptionalFeature -Filter 'Name -like "Recycle Bin Feature"' | Select-Object Name, EnabledScopes
# 在已删除对象里找目标(按名称模糊查)
Get-ADObject -Filter 'isDeleted -eq $true -and Name -like "wxm*"' -IncludeDeletedObjects -Properties LastKnownParent, whenChanged
# 查看对象原来的位置
Get-ADObject -Filter 'isDeleted -eq $true -and Name -like "wxm*"' -IncludeDeletedObjects -Properties LastKnownParent | Select-Object Name, LastKnownParent
# 还原到指定 OU
Restore-ADObject -Identity '9d1c8a63-...-f2b7' -TargetPath 'OU=Sales,DC=corp,DC=local'
# 核对还原结果
Get-ADUser -Identity wxm -Properties MemberOf | Select-Object Name, Enabled, MemberOf关键点对照
| 项目 | 说明 | 注意事项 |
|---|---|---|
| 启用条件 | 需林功能级别支持,启用后不可撤销 | 上线前纳入变更评审 |
| 对象定位 | 用 Name 模糊查或已知 GUID | GUID 最准确,避免同名误还原 |
| 目标位置 | 默认回原位置或指定 -TargetPath | 原 OU 已被删时需指定新位置 |
| 保留期 | 默认 180 天 | 超期后只能靠系统状态备份还原 |
还原用户后不要急着宣布恢复完成:密码、组成员关系、主目录与邮箱连接等状态都要逐项复核。部分属性在删除后需要重新配置才能恢复完整功能。
启用 AD 回收站是不可逆操作(无法再关闭),并且需要合适的林功能级别与足够权限。生产域上做这件事要走变更流程,别在业务时段顺手点一下。
回收站不能替代域控的系统状态备份。误删的是对象,而灾难(域控损坏、复制错误)需要靠备份还原,两套机制要同时具备。