如何在LDAP / AD中获取嵌套组?

时间:2012-08-31 19:10:40

标签: active-directory ldap

我们有特定用户的LDAP登录问题,我怀疑这是由于LDAP中的循环组分配,即用户被分配到组A,B,C,D。 A组包含子组E,F,G,组E再次包含A组。

如果我查询用户,我可以看到他已被分配了50多个组,每个组可能包含更多组,每个组可能包含更多组....

我的问题是,如果有一个查询我可以运行以将嵌套组一直放在这些主要组中,而不是去每个组并手动执行它?

服务器是AD

enter image description here

1 个答案:

答案 0 :(得分:4)

要查找“user1”所属的所有群组(改编为this,请参阅AD search filter):

  • 将基数设置为组容器DN;例如,根DN(dc = dom,dc = fr)
  • 将范围设置为子树
  • 使用以下过滤器:(成员:1.2.840.113556.1.4.1941:= cn = user1,cn = users,DC = x)
使用LDIFDE.EXE的

示例(Windows上的本机命令行AD搜索):

ldifde -f t.txt -d "DC=dom,DC=fr" -r "(member:1.2.840.113556.1.4.1941:=CN=jblanc,OU=MonOu,DC=dom,DC=fr)"

备注:据我记得,括号用户DN名称的语法差异很小。 '1.2.840.113556.1.4.1941'在W2K3 SP1中不起作用,它开始与SP2一起使用。我认为它与W2K3 R2相同。我在这里用W2K8R2测试。

使用Apache Directory Studio: Apache LDAP recursive query in AD

结果:

Apache LDAP recursive query result in AD