active directory 回收站保留周期由林范围属性 msds-deletedobjectlifetime 控制,默认180天,需以enterprise admin权限通过powershell手动修改,最小值为2天,且必须在回收站已启用前提下生效。

Windows 域控制器中,Active Directory 回收站的保留周期(即已删除对象在回收站中保留多久才被永久清除)**不能通过图形界面或常规策略直接配置**,而是由林范围的属性 msDS-DeletedObjectLifetime 控制。该值默认为 180 天,但可手动修改——前提是满足所有启用前提且回收站已启用。
确认回收站是否已启用
回收站功能本身是“一次性启用、不可关闭”的,必须先确保它已开启,否则修改保留周期无效:
- 以 Enterprise Admins 身份在域控制器上打开 PowerShell(管理员模式)
- 运行:
Get-ADOptionalFeature -Filter "Name -eq 'Recycle Bin Feature'" | Select EnabledScopes - 若返回非空(如
{Forest}),表示已启用;为空则需先执行Enable-ADOptionalFeature
查看当前保留周期
该值存储在林根域的 Configuration 分区中,运行以下命令获取当前设置:
Get-ADObject "CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,DC=contoso,DC=com" -Properties "msDS-DeletedObjectLifetime" | Select "msDS-DeletedObjectLifetime"(请将 DC=contoso,DC=com 替换为你的林根域名)
返回值单位为秒。例如 15552000 秒 = 180 天(180 × 24 × 3600)。
修改保留周期(例如设为 90 天)
使用 PowerShell 直接写入新值(需 Enterprise Admin 权限):
Set-ADObject "CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,DC=contoso,DC=com" -Replace @{"msDS-DeletedObjectLifetime"=7776000}(90 天 = 90 × 24 × 3600 = 7776000 秒)
- 修改后无需重启 DC,但需等待 AD 复制完成(通常几分钟内全林同步)
- 新设置仅对启用回收站后删除的对象生效;已删除对象的保留时长仍按旧值计算
- 最小允许值为 2 天(172800 秒),低于此值将被拒绝
重要限制与提醒
该设置受底层垃圾回收机制约束:
- 逻辑删除生存期(TSL)必须 ≥ 垃圾回收间隔(
garbageCollPeriod)的 3 倍 - 默认垃圾回收间隔为 12 小时 → TSL 最小值为 2 天;若你调大了
garbageCollPeriod,TSL 下限也会相应提高 - 修改
msDS-DeletedObjectLifetime不影响已过期对象——超期对象会被垃圾回收进程自动永久清除,无法恢复











