如何恢复已删除的 ACTIVE DIRECTORY 用户?

如果您不小心删除了 Active Directory 用户,请不要惊慌。它并没有完全消失。至少现在还没有。当您从 Active Directory 中删除某些对象时,它不会立即删除。恢复仍有可能。

删除的 AD 对象会发生什么?

首先,对象的 isDeleted 属性值更改为 True。然后,删除的对象将被移动到一个特殊的容器 – 已删除的对象。

“已删除对象”容器不会出现在“Active Directory 用户和计算机”管理单元中,并且对于大多数服务工具不可用。

默认情况下,删除的对象会在 180 天后从 AD 中永久删除,具体时间由 AD 垃圾收集自动进程的 tombstonelifetime (TSL) 属性值决定。

如果您想知道您的 TSL 值,请运行以下任何命令。将“dc=theitbros,dc=com”替换为您的域名。

Get-ADObject -Identity "cn=Directory Service,cn=Windows NT,cn=Services,cn=Configuration,dc=theitbros,dc=com"-Properties tombstonelifetime dsquery * "cn=Directory Service,cn=Windows NT,cn=Services,cn=Configuration,dc=theitbros,dc=com" -scope base -attr tombstonelifetime

那么这就证实了这一点!您有 180 天的时间来恢复已删除的 Active Directory 用户。

当您恢复已删除的 Active Directory 用户时,他们的帐户将被禁用并且没有密码。用户必须先启用帐户并重置密码,然后才能访问并登录。

如何从回收站恢复已删除的 Active Directory 用户

Active Directory 回收站是随 Windows Server 2008 R2 及更高版本引入的 Microsoft Active Directory 域服务 (AD DS) 中的一项功能。它提供了一种在 Active Directory 环境中恢复已删除对象(例如用户帐户、组或计算机帐户)的方法。

需要注意的是,启用回收站需要将功能级别设置为Windows Server 2008 R2或更高版本,并且一旦启用就无法禁用。

在继续之前,一如既往,从回收站恢复对象时要小心,因为恢复已删除的对象可能会重新引入冲突的属性,特别是在删除后创建了具有相同名称的新对象时。

检查AD回收站状态

默认情况下不启用 AD 回收站。因此,在尝试使用此方法恢复已删除的 Active Directory 用户之前,必须检查它是否已在您的环境中启用。

为此,请在服务器上打开 PowerShell 并运行以下命令。

Get-ADOptionalFeature "Recycle Bin Feature" | select-object name, EnabledScopes

如果 EnabledScopes 属性为空,则回收站未启用,并且您无法使用它来恢复已删除的 Active Directory 用户。

启用 AD 回收站将永久清除已删除对象容器。因此,如果您打算恢复已删除的对象,请不要启用 AD 回收站。相反,首先使用 LDP.EXE 或 ADRESTORE.EXE 工具,这些工具将在本文的后续部分中讨论。

另一方面,下面的屏幕截图显示了启用 AD 回收站后的结果。

从 Active Directory 管理中心恢复已删除的 Active Directory 用户

确认 AD 回收站已启用后,以下是如何使用 Active Directory 管理中心 (GUI) 恢复已删除的 Active Directory 用户。

打开 Active Directory 管理中心。

dsac.exe

导航到域 → 已删除的对象。

从列表中选择已删除的 AD 对象,然后单击“恢复”。

要将已删除的 Active Directory 用户恢复到不同的 OU,请单击“恢复到…”。

删除的 AD 用户已恢复到其原始 OU。您现在可以重置密码并启用帐户。

从 PowerShell 恢复已删除的 Active Directory 用户

如果您是 PowerShell 迷,您会很高兴知道可以使用 Restore-ADObject cmdlet 恢复已删除的 Active Directory 用户。

恢复已删除的 Active Directory 用户的基本语法是:

Restore-ADObject -Identity {AD Object Identity}

上述命令会将已删除的 Active Directory 对象恢复到其原始路径。但这个命令要求你事先知道身份。

如果您不知道 AD 对象的身份,则必须先尝试找到它。例如,如果您知道 SAM,则可以运行以下命令来查找它。

Get-ADObject -Filter 'samaccountname -eq "jdoe"' -IncludeDeletedObjects

找到要恢复的确切 AD 用户后,复制 DistinguishedName 或 ObjectGUID 值并运行此命令。适当地替换 DistinguishedName 或 ObjectGUID。

Restore-ADObject -Identity {DistinguishedName or ObjectGUID}

或者,您也可以通过单个命令将 Get-ADUser 的结果通过管道传递给 Restore-ADObject。

Get-ADObject -Filter 'samaccountname -eq "jdoe"' -IncludeDeletedObjects | Restore-ADObject

没有输出意味着没有错误。恢复已删除的 Active Directory 用户后,请通过运行以下命令确认其已恢复:

Get-ADUser -Identity {AD Object Identity}

就是这样!删除的AD用户已恢复。不要忘记重置密码并启用帐户。

如何使用 LDP.EXE 恢复已删除的 Active Directory 用户

恢复已删除的 Active Directory 用户的一种方法是通过 LDP.EXE 工具,尤其是在未启用回收站的情况下。该工具内置于 Active Directory 服务器中,或与远程服务器管理工具 (RSAT) 一起安装在客户端计算机上。

在此示例中,用户 John Doe 已被删除,并将使用 LDP 进行恢复。

通过运行以下命令打开 LDP 工具:

ldp.exe

单击连接 → 连接。输入服务器名称并单击“确定”。

单击“连接”→“绑定”或按 CTRL+B。

如果您以域管理员或企业管理员成员身份登录,请选择“绑定为当前登录用户”选项。否则,选择“使用凭据绑定”并输入具有适当权限的凭据。

如果绑定成功,您将在控制台窗格中看到以下结果。

单击视图 → 树或按 CTRL+T。

从下拉列表中选择您域的基本 DN,然后单击“确定”。

导航至“DC=DOMAIN,DC=TLD”→“CN=Deleted Objects”,然后双击已删除的用户。您将在输出窗格中看到该对象的详细信息。如您所见,isDeleted 值为 TRUE。

要恢复已删除的 AD 用户,请右键单击该对象,然后单击“修改”或按 CTRL+M。

接下来,我们添加条目来删除“isDeleted”属性的值。在“编辑条目属性”框中输入isDeleted,选择“删除”操作并单击Enter。 “[Delete]isDeleted:”操作已添加到列表中。

让我们添加另一个条目来恢复删除之前对象的原始 DistinguishedName。原始的distinguishedName值应该是“CN=USER NAME”+lastKnownParent属性的值。

CN=John Doe,OU=Users,OU=California,OU=USA,DC=theitbros,DC=com

确定原始的 distinguishedName 值后,在“编辑条目属性”框中键入“distinguishedName”,然后在“值”框中键入对象的原始 distinguishedName,然后单击 Enter。最后,单击运行。


如果操作顺利,输出应该不会显示任何错误。


所以恢复后的DN应该是:

打开“Active Directory 用户和计算机”,找到恢复的 AD 用户,您将在原始容器中看到它。启用帐户并重置密码,以便用户可以登录。

如何使用 ADRESTORE.EXE 恢复已删除的 Active Directory 用户

ADRESTORE 是一个 Sysinternals 工具,旨在通过命令行搜索和恢复“逻辑删除”的 Active Directory 对象。与之前使用 LDP.EXE 的方法不同,ADRESTORE 纯粹是一个命令行工具。

下载 ADRESTORE 工具并将其解压到本地文件夹。在此示例中,我将该工具提取到 C:toolsADRestore。

打开 CMD 或 PowerShell 并将工作目录更改为提取工具的位置。

接下来,运行以下命令来搜索“已删除对象”容器。此示例命令搜索与名称 John Doe 匹配的已删除对象。

.adrestore.exe "John Doe"

如下所示,该命令找到了一个匹配的对象,并显示了其详细信息。

复制上一步中的 GUID 并运行以下命令以恢复已删除的 Active Directory 用户。

.adrestore.exe -r {GUID}

按 y 和 Enter 确认恢复。

最后,通过运行 Get-ADUser cmdlet 确认恢复的 AD 用户是否存在,如下所示。

Get-ADUser -Identity {AD User}

验证用户位于正确的 AD OU 上。再次,恢复的 AD 用户对象被禁用。您必须启用它并重置密码才能再次使用。

举报
评论 0