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

[玩转系统] 恢复已删除的 Active Directory 对象/用户

作者:精品下载站 日期:2024-12-14 22:56:05 浏览:11 分类:玩电脑

恢复已删除的 Active Directory 对象/用户


删除 Active Directory 中的任何对象(用户、组、计算机或 OU)后,您可以将其恢复。在本文中,我们将展示如何使用 PowerShell 和图形工具恢复 AD 中已删除的对象。

首先,让我们看看从 AD 中删除对象时会发生什么。删除对象时的 AD 行为取决于是否启用 Active Directory 回收站(默认情况下禁用)。在这两种情况下,对象都不会被物理删除,只是被标记为已删除(isDeleted属性值更改为 true)并移动到特殊的已删除对象容器(不会显示在 AD mmc 管理单元中)。但是,如果启用了 AD 回收站,则所有属性和成员资格都会保留。

默认情况下,您可以在 180 天内恢复已删除的对象(在 msDS-deletedObjectLifetime 域属性中定义)。如果该期限结束,该对象仍保留在“已删除对象”容器中,但其大部分属性和链接都被清除(回收对象)。在 tombstoneLifetime 期限(默认情况下也是 180 天,但您可以增加它)之后,该对象将在自动清理过程中从 AD 中完全删除,并且无法恢复(只能从 AD 域控制器备份中恢复此类对象)。

活动目录回收站

AD 回收站从 Windows Server 2008 R2 功能级别开始在 Active Directory 中可用。在以前的 Windows Server 版本中,您还可以恢复 AD 对象,但它需要使用特殊工具执行一组复杂的操作:

ntdsutil

(最多可在目录服务还原模式下从 AD 备份进行权威还原)或

ldp.exe

此外,使用 AD 回收站,您不会丢失对象属性和组成员身份。

检查AD森林功能级别(在我的示例中,它是Windows2016Forest):

Get-ADForest |Select-Object forestmode

此命令和以下命令需要安装 Active Directory for PowerShell 模块。

[玩转系统] 恢复已删除的 Active Directory 对象/用户

确保您的域已启用 AD 回收站(默认情况下处于禁用状态):

Get-ADOptionalFeature “Recycle Bin Feature” | select-object name,EnabledScope

如果 EnabledScope 值不为空,则表示您的域已启用 Active Directory 回收站。

[玩转系统] 恢复已删除的 Active Directory 对象/用户

如果要启用 Active Directory 回收站,请使用 Enable-ADOptionalFeature cmdlet:

Enable-ADOptionalFeature -Identity ‘CN=Recycle Bin Feature,CN=Optional Features,CN=Directory Service,CN=Windows NT,CN=Services,CN=ConfigurationDC=a-d,DC=com’ -Scope ForestOrConfigurationSet -Target ‘a-d.site’

注意。从域中删除对象之前必须启用 AD 回收站。启用 Active Directory 回收站功能后,您将无法禁用它。

如何在 Active Directory 中恢复已删除的用户帐户?

让我们尝试删除 AD 用户,然后从 AD 回收站恢复它们。

使用 Get-ADUser cmdlet,显示用户的 IsDeleted 属性的值(为空):

get-aduser jsanti -Properties *| Select-Object IsDeleted,whenDeleted

然后删除用户帐户:

Remove-ADUser jsanti

[玩转系统] 恢复已删除的 Active Directory 对象/用户

要在 AD 回收站中查找已删除的用户帐户,请使用Get-ADObject cmdlet 和 IncludeDeletedObjects 参数:

Get-ADObject -Filter 'Name -like "*santi*"' -IncludeDeletedObjects

[玩转系统] 恢复已删除的 Active Directory 对象/用户

如您所见,在已删除对象容器中找到了该用户。

检查 IsDeleted 属性的值、用户在被删除之前所在的容器 (LastKnownParent) 以及用户所属的组列表:

Get-ADObject -Filter 'Name -like "*santi*"' -IncludeDeletedObjects -Properties *| select-object Name, sAMAccountName, LastKnownParent, memberOf, IsDeleted|fl

[玩转系统] 恢复已删除的 Active Directory 对象/用户

如果您不记得已删除的用户的名称,可以显示 Active Directory 回收站中可用对象的完整列表:

Get-ADObject -filter {Deleted -eq $True -and ObjectClass -eq "user"} -includeDeletedObjects

要恢复用户帐户,请复制 ObjectGUID 值并运行以下命令:

Restore-ADObject -Identity ‘aa704b7f-b003-4a21-8f62-53c75caa67b2

或者您可以使用 SAMAccountName 恢复用户:

Get-ADObject -Filter 'SAMAccountName -eq "jsanti"' -IncludeDeletedObjects | Restore-ADObject

打开 ADUC 控制台(

dsa.msc

)并确保用户帐户已在删除之前所在的同一 OU 中恢复。

[玩转系统] 恢复已删除的 Active Directory 对象/用户

您还可以从Active Directory 管理中心的图形控制台恢复已删除的用户帐户对象。

  1. 跑过

    dsac.exe

    ;

  2. 找到“已删除对象”容器。 它包含所有已删除的 AD 对象;

  3. 单击要还原的对象,然后选择还原(还原到原始容器)或还原到(还原到另一个 AD 组织单位)。

[玩转系统] 恢复已删除的 Active Directory 对象/用户

以同样的方式,您可以恢复 Active Directory 中已删除的组、计算机或容器。

恢复已删除的安全组:

Get-ADObject -Filter { Deleted -eq $True -and ObjectClass -eq 'group' -and Name -like '*Allow*' } -IncludeDeletedObjects| Restore-ADObject -verbose

要恢复计算机:

Get-ADObject -Filter { Deleted -eq $True -and ObjectClass -eq 'computer' -and Name -like '*PCCA-sdd9302*' } -IncludeDeletedObjects| Restore-ADObject -verbose

如何使用 PowerShell 恢复已删除的 OU 及其嵌套对象?

例如,您为某个 OU 禁用了保护对象免遭意外删除选项,并且您偶尔会删除该 OU 及其所有用户、计算机和组。

[玩转系统] 恢复已删除的 Active Directory 对象/用户

首先,您必须恢复根 OU:

Get-ADObject -Filter {Deleted -eq $True -and ObjectClass -eq 'organizationalunit' -and Name -like '*California*'} -IncludeDeletedObjects| Restore-ADObject

然后恢复所有嵌套的 OU:

Get-ADObject -Filter {Deleted -eq $True -and ObjectClass -eq 'organizationalunit' -and LastKnownParent -eq 'OU=California,DC=a-d,DC=com'} -IncludeDeletedObjects| Restore-ADObject

之后,您可以使用 LastKnownParent 参数恢复 OU 中所有已删除的对象(用户、计算机、组和联系人):

Get-ADObject -Filter {Deleted -eq $True} -IncludeDeletedObjects -Properties *| Where-Object LastKnownParent -like '*OU=California,DC=a-d,DC=com'| Restore-ADObject

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

取消回复欢迎 发表评论:

关灯