在 Windows Server 2008 R2 AD 中,是否可以从用户对象获取用户管理的 OU 列表,还是需要解析 OU 列表?
(即,OU 管理的用户对象上是否有表示,或者它仅仅是 OU 上的变量)
答案1
不,用户帐户/对象不包含“此对象可以管理的事物”的属性。
权限由 ACL/ACE 处理(访问控制列表/访问控制条目)在对象本身上,它定义了其他对象有权对持有 ACL 的对象做什么。
要弄清楚特定用户有权管理哪些 OU,可以使用一个脚本来扫描所有 OU,并返回目标用户具有您感兴趣的权限的 OU(更详细地说,返回您的用户所属的组)。
看起来 Ashley McGlone 编写的 PowerShell 脚本可以满足你的大部分需求,并为你提供一份漂亮的 csv 或 Excel 文件当然,您可以在 PowerShell 控制台中执行相同的操作,根据您感兴趣的用户过滤结果,并更改返回的格式和属性,但(无意冒犯)这对您来说似乎有点高级,而且我现在有点忙不过来,所以我不会为您加油打气,但这将是一个相对简单的单行代码,Get-Acl
命令其核心。
答案2
您无法从 AD 中的实际用户对象中看到特定用户可以访问的 OU。但是,您可以使用 PowerShell 中名为 DSACLS 的强大工具。您可以以管理员身份运行 PowerShell,然后使用以下命令:
dsacls“ou = nameofou,dc =域名,dc = com”
用您想要的 OU 和 AD 域替换 nameofou 和 domainname。
请参阅此处的 DSACLS 部分以获取更多帮助: http://blogs.technet.com/b/heyscriptingguy/archive/2012/03/12/use-powershell-to-explore-active-directory-security.aspx