我已经使用 LDP 在一些 AD-LDS 对象上手动设置了一些自定义 DACL。我正在尝试编写一个脚本,以 SDDL 形式导出这些 ACL(目前只有 DACL)。
我可以使用以下代码检索 AD-LDS 对象:
$obj = Get-ADOrganizationalUnit -Filter {Name -Like 'stuff'} -searchbase "OU=apps,DC=example,DC=com" -server 'localhost:389'
$obj[0].distinguishedName
OU=stuff,OU=apps,DC=example,DC=com
我知道get-acl Powershell 命令及其Active Directory 感知语法,但是当我在我的 AD-LDS 对象上尝试它时,它失败了
Get-Acl : Cannot find path 'OU=stuff,OU=apps,DC=example,DC=com' because
it does not exist.
At line:1 char:9
+ (Get-Acl <<<< "DC=example,DC=com").access
+ CategoryInfo : ObjectNotFound: (:) [Get-Acl], ItemNotFoundException
+ FullyQualifiedErrorId : GetAcl_PathNotFound_Exception,Microsoft.PowerShell.Commands.GetAclCommand
我尝试在 get-acl 命令前加上AD:
前缀,以及ldap://localhost/
,但错误保持不变。我也未能检索到其他类型对象(如user
和group
)的 DACL。
如何使用 Powershell 以 SDDL 形式检索 AD-LDS 对象的 DACL?