0

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

如果 A 组有一个嵌套组 B 显示该组 如果 C 组没有嵌套组 不要显示它 如果 D 组有一个嵌套组 E 显示它

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

谢谢

4

1 回答 1

0

不幸的是,仅使用 LDAP 查询无法完成您想要做的事情。如果您在 Server 2003 SP2 或更高版本上运行 AD,您可以查询特定组的所有成员,使用匹配规则枚举嵌套组,但您必须使用外部进程(如 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
于 2013-11-16T06:04:20.790 回答