获取已删除对象容器的ACL

问题描述 投票:0回答:1

我正在尝试以编程方式更新 AD 中“已删除对象”容器的 ACL 权限,但我无法验证当前权限。通常我会在专有名称上使用

Get-ACL
,但是此命令返回“无法找到路径 {DN},因为它不存在”

我以域管理员身份运行它,我可以通过

Get-ADObject -SearchBase ((Get-ADDomain).DeletedObjectsContainer) -Filter * -IncludeDeletedObjects -SearchScope Base
确认该容器确实存在。问题似乎是“已删除对象”容器本身被标记为 isDeleted,这会阻止 Get-ACL 读取它。

使用

dsacls
(如here所述)确实有效,如果我通过 psexec 将其作为系统运行,尽管输出并不理想,因为我必须先对其进行处理,然后才能对其进行验证。是否有另一种方法可以使用 PowerShell 查询此信息并返回更清晰的输出? https://learn.microsoft.com/en-us/troubleshoot/windows-server/active-directory/non-administrators-view-deleted-object-container

powershell active-directory acl
1个回答
0
投票

你说得对,你确实要特别对待它,因为它被“删除”了。

你们非常亲密。您可以返回 AD 对象的 nTSecurityDescriptor 属性,这将得到您想要的东西。

$delObjContainer = Get-ADObject -Filter 'objectClass -eq "container"' -SearchBase (Get-ADDomain).DeletedObjectsContainer -Properties nTSecurityDescriptor -IncludeDeletedObjects -SearchScope base
$delObjContainer.nTSecurityDescriptor.Access

# ActiveDirectoryRights : CreateChild, DeleteChild, ListChildren, ReadProperty, Delete, GenericWrite, WriteDacl, WriteOwner
# InheritanceType       : None
# ObjectType            : 00000000-0000-0000-0000-000000000000
# InheritedObjectType   : 00000000-0000-0000-0000-000000000000
# ObjectFlags           : None
# AccessControlType     : Allow
# IdentityReference     : NT AUTHORITY\SYSTEM
# IsInherited           : False
# InheritanceFlags      : None
# PropagationFlags      : None
© www.soinside.com 2019 - 2024. All rights reserved.