LDAP查询以显示具有嵌套组的所有组

时间:2013-11-14 11:23:58

标签: ldap ldap-query

我可以看到很多与需要从嵌套组中获取用户有关的问题,但我想要做的是查询具有嵌套组的所有组的AD,例如: -

如果A组有嵌套组B则显示该组 如果C组没有嵌套组,请不要告诉我 如果D组有一个嵌套组E给我看看

我想知道有多少AD组基本上有嵌套组及其名称,可以这样做吗?

由于

1 个答案:

答案 0 :(得分:0)

不幸的是,只有LDAP查询无法完成您要做的事情。如果在Server 2003 SP2或更高版本上运行AD,则可以使用matching rule查询特定组的所有成员,枚举嵌套组,但是必须使用外部进程(如PowerShell脚本)实际上得到你想要的结果。

我想到的匹配规则会像这样使用:

(memberOf:1.2.840.113556.1.4.1941:=cn=Test,ou=East,dc=Domain,dc=com)

如果您可以使用PowerShell,并且可以从RSAT工具安装Microsoft的ActiveDirectory模块,您可以在一行中进行(尽管可能需要永久),如下所示:

Import-Module ActiveDirectory; Get-AdGroup -Filter {Name -like "*"} | ? { $m = Get-ADGroupMember $_; $r = Get-ADGroupMember $_ -Recursive; $c = Compare-Object $m $r; !$c.Count } | ft name,distinguishedName -AutoSize