常见的与 Active Directory相关的灾难大多源于意外删除的对象。一旦对象从Active Directory中删除,它并不会立即从Active Directory中永久删除。一旦对象被删除,它将把isDeleted
对象值设置为True
,并将对象移至CN=Deleted Object
下。
随后,对象将保留在那里,直到系统达到墓碑生存期值。默认情况下,该值为180天,如果需要,可以更改。一旦对象超过墓碑生存期,它将可供永久删除。在我在前一节中解释Active Directory数据库时,我提到了“在线碎片整理”。它使用垃圾收集器服务从Active Directory数据库中删除已删除的对象,并释放该空间给数据库。此服务每12小时运行一次。一旦删除的对象超过墓碑生存期值,它将在下一个垃圾收集器服务周期中被永久删除。问题在于,在墓碑过程中,大多数对象值都被剥离。因此,即使您能够恢复,这些对象值也需要重新输入。
在Windows Server 2008 R2以后的版本中,Microsoft引入了 Active Directory回收站 功能。启用此功能后,一旦对象被删除,它仍会将isDeleted
对象值设置为True
,并将对象移至CN=Deleted Object
下。但现在,它不再由墓碑生存期控制,而是由删除对象生存期(DOL)控制。在此阶段,对象属性将保持不变,并且可以轻松恢复。默认情况下,DOL值等于墓碑生存期。此值可以通过修改msDS-deletedObjectLifetime
对象值进行更改。一旦超过DOL,它将移至已回收状态,并将isRecycled
对象值设置为True
。在此状态下,无法恢复它,它将一直保持在此状态,直到墓碑生存期值超过。达到该值后,它将从Active Directory中永久删除。
Active Directory回收站功能要求至少是Windows Server 2008 R2域和林的功能级别。一旦启用此功能,就无法禁用它。
可以使用以下命令启用此功能,-Target
可以更改为您的域名。
Enable-ADOptionalFeature 'Recycle Bin Feature' -Scope ForestOrConfigurationSet -Target contoso.intra
一旦启用,我们可以使用以下命令恢复已删除的对象,它将搜索isdeleted
属性设置为true
的对象。
Get-ADObject -Filter 'isdeleted -eq $true' -IncludeDeletedObjects
现在我们知道了删除的对象,可以使用以下命令进行恢复,将还原用户对象pangshare。
Get-ADObject -Filter 'samaccountname -eq "dfrancis"' -IncludeDeletedObjects | Restore-ADObject
此文章为原创文章,作者:胖哥叨逼叨,如若转载,请与我联系并注明出处:https://www.pangshare.com/2895.htm