本文介绍如何更改权限,以便非管理员可以查看Active Directory已删除的对象容器。
原始 KB 数: 892806
总结
Active Directory Domain Services(AD DS)临时将已删除的对象存储在隐藏的“已删除对象”容器中。 默认情况下,只有系统帐户和管理员组的成员才能查看此容器的内容。 例如,管理员可以使用 LDAP 命令或 Windows PowerShell 命令查看已删除的对象容器的内容。
本文讨论如何添加对已删除对象容器的读取权限。 在以下情况下,可能必须添加对已删除对象容器的读取权限:
- 你有使用非系统帐户或非管理员帐户绑定到Active Directory的企业应用程序或服务。
- 这些企业应用程序或服务定期检查目录更改。
详细信息
删除 AD DS 对象时,Active Directory将对象移动到已删除的对象容器。 该对象在指定时间段内保留在容器中( 如果未启用 AD 回收站; 如果 启用了 AD 回收站)。 此操作允许删除进程有足够时间复制到其他域控制器(DC)。
示例:查看已删除的对象
Administrators 组的成员可以使用以下 Windows PowerShell 命令查看已删除的对象容器的内容:
Get-ADObject -Filter {Deleted -eq $True} -IncludeDeletedObjects
此命令列出当前位于容器中的对象:
Deleted : True
DistinguishedName : CN=Deleted Objects,DC=contoso,DC=com
Name : Deleted Objects
ObjectClass : container
ObjectGUID : 280e5943-08cf-498d-b3f1-19a812d07efd
Deleted : True
DistinguishedName : DC=..Deleted-_msdcs.contoso.com\0ADEL:f6eb3fb7-597a-458b-8b74-2a46066be220,CN=Deleted
Objects,DC=contoso,DC=com
Name : ..Deleted-_msdcs.contoso.com
DEL:f6eb3fb7-597a-458b-8b74-2a46066be220
ObjectClass : dnsZone
ObjectGUID : f6eb3fb7-597a-458b-8b74-2a46066be220
Deleted : True
DistinguishedName : DC=@\0ADEL:8daacf6e-12ab-4f5d-b95c-ec834d490580,CN=Deleted Objects,DC=contoso,DC=com
Name : @
DEL:8daacf6e-12ab-4f5d-b95c-ec834d490580
ObjectClass : dnsNode
ObjectGUID : 8daacf6e-12ab-4f5d-b95c-ec834d490580
向已删除的对象容器授予读取权限
若要修改对已删除对象容器的权限,以便非管理员可以查看此信息,请使用 DSACLS.exe 工具。 执行以下步骤:
-
使用属于 域管理员 组成员的用户帐户登录到 DC。
-
打开管理命令提示符窗口,然后运行类似于以下示例的命令:
dsacls "CN=Deleted Objects,DC=contoso,DC=com" /takeownership注意
在此命令中, 是 contoso.com 域的已删除对象容器的完全限定域名(FQDN)。 林中的每个域都有自己的已删除对象容器。
此命令生成类似于以下示例的输出:
Owner: Contoso\Domain Admins Group: NT AUTHORITY\SYSTEM Access list: {This object is protected from inheriting permissions from the parent} Allow BUILTIN\Administrators SPECIAL ACCESS LIST CONTENTS READ PROPERTY Allow NT AUTHORITY\SYSTEM SPECIAL ACCESS DELETE READ PERMISSIONS WRITE PERMISSIONS CHANGE OWNERSHIP CREATE CHILD DELETE CHILD LIST CONTENTS WRITE SELF WRITE PROPERTY READ PROPERTY The command completed successfully -
若要授予安全主体查看已删除对象容器中的对象的权限,请运行类似于以下命令的命令:
dsacls "CN=Deleted Objects,DC=Contoso,DC=com" /g CONTOSO\EricLang:LCRP注意
在此命令中,
CONTOSO\EricLang表示要向其授予访问权限的安全主体,LCRP表示要授予的权限(列出子对象和读取属性)。此命令生成类似于以下示例的输出:
Owner: CONTOSO\Domain Admins Group: NT AUTHORITY\SYSTEM Access list: {This object is protected from inheriting permissions from the parent} Allow BUILTIN\Administrators SPECIAL ACCESS LIST CONTENTS READ PROPERTY Allow NT AUTHORITY\SYSTEM SPECIAL ACCESS DELETE READ PERMISSIONS WRITE PERMISSIONS CHANGE OWNERSHIP CREATE CHILD DELETE CHILD LIST CONTENTS WRITE SELF WRITE PROPERTY READ PROPERTY Allow CONTOSO\EricLang SPECIAL ACCESS LIST CONTENTS READ PROPERTY The command completed successfully
在此示例中,用户(“CONTOSO\EricLang”)可以查看已删除对象容器的内容,但无法对容器中的对象进行任何更改。 这些权限等效于向管理员组授予的默认权限。
参考
- 启用并使用Active Directory回收站
- Get-ADObject
- 逻辑删除生存期和删除对象生存期
- LDAP_SERVER_SHOW_DELETED_OID 控制代码
- Dsacls