首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Powershell get-acl检索AD-LDS对象ACL

使用Powershell get-acl检索AD-LDS对象ACL
EN

Stack Overflow用户
提问于 2012-11-20 06:09:18
回答 2查看 4.1K关注 0票数 1

我已经使用LDP在一些AD-LDS对象上手动设置了一些自定义DACL。我正在尝试编写一个脚本,以SDDL形式导出这些ACL (目前只有DACL )。

我可以使用以下代码检索AD-LDS对象:

代码语言:javascript
复制
$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 command及其Active Directory aware syntax,但是当我在我的AD-LDS对象上尝试它时,它失败了,如下所示

代码语言:javascript
复制
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

我尝试使用AD:前缀和ldap://localhost/作为get-acl命令的前缀,但错误仍然存在。我也无法检索其他类型的对象(如usergroup)的DACL。

如何使用Powershell检索SDDL形式的AD-LDS对象的DACL?

EN

回答 2

Stack Overflow用户

发布于 2016-01-23 04:25:39

我也有同样的问题,但没有在网上找到合适的答案。我花了相当长的时间才想出一个可行的解决方案。由于这个讨论是常见搜索引擎的顶级结果之一,但并没有提供实际的答案,所以我决定将其发布在这里:

下面的问题将我推向了正确的方向:How do I set-location ad: to a different active directory domain with Powershell

我在Windows 2012R2 (我认为是Powershell 4.0)上测试了它。

假设您有一个运行在"server:port“上、后缀为"dc=root,dc=com”的ACLs实例,下面的代码将使用‘get-acl’屏幕打印此后缀节点的acl:

  1. 添加活动目录模块:

导入-模块活动目录

  1. 您需要定义一个新的访问标识符,类似于"AD:“。这个标识符被绑定到您当前的Powershell会话:(本例使用"myLDS:",但是您可以定义任何您想要的标识符字符串)

New-PSDrive -Name myLDS -PSProvider ActiveDirectory -Server“服务器:端口”-Scope全局-Root“//根New/”

  1. ,最后,您可以使用这个新标识符来访问LDS存储的acls,例如,将它们打印在屏幕上:

(Get-ACL 'myLDS:\dc=root,dc=com').access

请注意,'get-acl‘和dsacls.exe的输出有所不同。‘’get acl‘将返回主题的原始SID,而dsacls在内部将SID转换为DNs并返回DNs。因此,如果您使用'get-acl',但需要DNs,则需要使用额外的LDAP查询自己执行此转换。

票数 1
EN

Stack Overflow用户

发布于 2015-04-17 01:18:21

尝试:

dsacls 'OU=stuff,OU=apps,DC=example,DC=com‘

我在PowerShell上看到了一些有趣的事情,并怀疑它与权限有关。也就是说,尝试一下:

Get-ADOrganizationalUnit -Filter‘-eq "stuff"’

这可能会起作用,使用Get-ADOrganizationalUnit上的方法和属性可以帮助隔离问题

当我找到问题的根本原因时,我会更新这篇文章。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13463155

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档