AD 回收站已启用但其中没有对象?

AD 回收站已启用但其中没有对象?

不久前,我使用 PowerShell 启用了 Active Directory 回收站。当时我知道这是有效的,因为以下结果:

Get-ADOptionalFeature -filter * |  select Name,FeatureScope,ObjectClass,RequiredForestMode | fl

Name               : Recycle Bin Feature
FeatureScope       : {ForestOrConfigurationSet}
ObjectClass        : msDS-OptionalFeature
RequiredForestMode : Windows2008R2Forest

我的森林设置正确

Get-ADForest | select -expand forestmode
Windows2008R2Forest

所以一切似乎都得到了控制。然而,在测试删除用户和容器时,我无法找到它们以恢复这些对象。唯一显示的是已删除的容器本身

Get-ADObject -SearchBase "CN=Deleted Objects,DC=ba,DC=net" -Filter "*" -includeDeletedObjects

Deleted           : True
DistinguishedName : CN=Deleted Objects,DC=BA,DC=NET
Name              : Deleted Objects
ObjectClass       : container
ObjectGUID        : 4d59a6f2-eff1-494c-9e9a-a1731f19ac4b

从其他关于如何设置的教程中我可以看出应该会出现。但对我来说,那里应该还有其他在过去几周被删除的对象。

我以企业管理员用户的身份运行测试。搜索“回收站”和“活动目录”会让我找到其他有类似问题的用户,但大多数问题都可以通过实际启用该功能或​​处于较低的林级别来解决。就我而言,这两种方法都是正确的。不确定我在这里做错了什么或假设了什么。

一个很可能相关的事实是,我无法从 ldp.exe 中看到这个“已删除对象”容器,因为我用来比较的这个指南。最后一步是查看容器:

展开控制台树中的林根域,如图 8 所示。双击“CN=Deleted Objects,DC=Domain,DC=local”节点,其中 DC=Domain,DC=local 是林根域的可分辨名称。

在同一页面上,另一个 PowerShell 测试显示的结果与我的问题相矛盾,如下所示:

Get-ADObject -ldapFilter:"(msDS-LastKnownRDN=*)" -IncludeDeletedObjects

当我运行该命令时我得到一些用户帐户和组我在测试时删除了它。根据TechNet 上的此页面论坛虽然这意味着垃圾箱已被启用。

答案1

您处于正确的林级别,但您用来验证回收站是否已启用的查询不正确。无论回收站是否已启用,“已删除对象”容器都存在。如果未启用,则它将保存具有有限属性的逻辑删除对象;如果已启用,则已删除的对象将在对象的整个生命周期内保持其属性。

使用以下命令验证回收站是否确实启用:

$RecycleBin = Get-ADOptionalFeature -Filter {Name -eq "Recycle Bin Feature"}

(True为不启用,False为启用)

"[string]::IsNullOrEmpty($RecycleBin.EnabledScopes)"   # Without quotes

当您运行该Get-ADOptionalFeature -Filter {Name -eq "Recycle Bin Feature"}命令时,如果 EnabledScopes 属性为空 {},则表示未启用。

答案2

这是一个相当老的问题了,但对我来说,问题在于Get-ADObject从非管理员 PowerShell 运行命令。对某些人来说可能很明显,但它从非管理员 shell 返回几个条目这一事实让我感到困惑。

无论如何,以管理员身份打开 PowerShell 后,我现在可以看到数千个,就像我所期望的我们繁忙的域一样。

相关内容