当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 活动目录回收站

作者:精品下载站 日期:2024-12-14 07:10:17 浏览:12 分类:玩电脑

活动目录回收站


我的印象是我几年前写过博客(在进行 Exchange 2010 -> 2016 迁移时),但我找不到自己的博客,所以这里(再次)。

Active Directory 回收站多次拯救了我的生命,不仅是我的生命,也是我客户的生命。使用 Active Directory 回收站,您可以从 Active Directory 恢复已删除的对象,并且在使用 Azure AD Connect 时还会自动恢复 Azure Active Directory 中的对象(当然假设已删除的对象在实际删除之前已同步)。

遗憾的是它默认处于禁用状态,但启用 Active Directory 回收站只需启动 Active Directory 管理中心,选择并右键单击您的根域,然后选择“启用回收站...”,如以下屏幕截图所示:

[玩转系统] 活动目录回收站

当然,也可以使用PowerShell来启用此功能,只需执行以下命令:

PS C:\> Import-Module ActiveDirectory
PS C:\> Enable-ADOptionalFeature "Recycle Bin Feature" -Scope ForestOrConfigurationSet -Target "ProExchangeAdmin.com"
WARNING: Enabling 'Recycle Bin Feature' on 'CN=Partitions,CN=Configuration,DC=ProExchangeAdmin,DC=com' is an irreversible action! You will not be able to disable 'Recycle Bin Feature' on 'CN=Partitions,CN=Configuration,DC=ProExchangeAdmin,DC=com' if you proceed.

Confirm
Are you sure you want to perform this action?
Performing the operation "Enable" on target "Recycle Bin Feature".
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"): y
PS C:\>

等到所有域控制器都复制了此更改并且一切就绪。

但这在幕后是如何运作的呢?删除的对象不会永远保留在回收站中。默认情况下,已删除的对象将在 Active Directory 中继续存在 180 天,这是在目录服务对象的 msDS-deletedObjectLifetime 属性上设置的。对于被删除的对象,isDeleted 和 isRecycled 属性开始发挥作用。

当删除用户对象时,该用户的 isDeleted 属性将设置为 True。此时,它在逻辑上已被删除,但在 Active Directory 中物理上仍然可用(在“已删除邮件”容器中)并且可以恢复。当已删除对象的生存期结束后,isRecycled 属性将设置为 True,并且 Active Directory 垃圾收集器知道它可以从 Active Directory 中删除该对象(从数据库中物理删除)。

下图以图形方式显示了这一点。

[玩转系统] 活动目录回收站

通过在 msDS-DeletedObjectLifetime 属性上标记更高的值,可以增加已删除对象的生存期。例如,要将默认生命周期 180 天增加到 2 年(= 730 天),您可以使用以下 PowerShell 命令:

PS C:\> Set-ADObject -Identity "CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,DC=ProExchangeAdmin,DC=COM" -Partition "CN=Configuration,DC=ProExchangeAdmin,DC=COM" -Replace:@{"msDS-DeletedObjectLifetime" = 730}

从回收站恢复已删除的对象很容易。打开 Active Directory 管理中心,导航到您的域并选择已删除的对象。选择对象并右键单击选择“恢复”,如下图所示:

[玩转系统] 活动目录回收站

还可以使用 PowerShell 来恢复已删除的对象。例如,要查找上例中的用户,我们可以使用以下 Powershell 命令:

PS C:\> Get-ADObject -Filter 'samaccountname -eq "Johns"' -IncludeDeletedObjects

Deleted           : True
DistinguishedName : CN=Labs | John SmithADEL:7ee41efd-0034-46d7-9313-62360fff43fb,CN=Deleted Objects,DC=labs,DC=local
Name              : Labs | John Smith
                    DEL:7ee41efd-0034-46d7-9313-62360fff43fb
ObjectClass       : user
ObjectGUID        : 7ee41efd-0034-46d7-9313-62360fff43fb

PS C:\>

将此输出传送到 Restore-ADObject 命令,删除的用户将被恢复。
非常简单且非常有用,我始终建议启用此功能。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯