如何查找AD组的所有成员以及该组的成员?

时间:2016-05-25 20:35:02

标签: active-directory ldap

我有一个通过LDAP访问的AD域的特定于应用程序的子树。在这个子树中,我有一个小组,在我的子树之外有几个小组(在整个树的拥挤,密集的部分)。目录中可能有数百名用户,我试图识别出一两个用户。

我想找到属于我的群组成员的所有用户。或者,作为成员的所有团体和可能是其成员的团体等等(我相信,这是一个足够小的设置,我可以第二次回去并且问...&34;给我的用户是该组或该组或其他组的成员。")

我知道LDAP_MATCHING_RULE_IN_CHAIN但似乎只允许我说"给定G组,用户U是其直接或间接成员吗?"我无法弄清楚如何回答我的问题。

让我试着说明一下:

ad-root/
├── corp
│   ├── sec-groups
│   │   ├── group-r
│   │   ├── group-s
│   │   └── group-t
│   └── users-ou
│       ├── user-a
│       ├── user-b
│       └── user-c
└── my-app
    ├── group-x
    ├── group-y
    └── group-z

假设ad-root / corp / users-ou非常大,也可能是sec-groups。

  • group r有成员a,b和c
  • group s有成员a和b
  • 组t有成员b和c

然后,在我的应用领域

  • 组x将组s作为其唯一成员
  • 组y具有组r和s作为成员
  • 组z将组x和y作为成员

我想

  • 查询组x并获取用户a和b
  • 查询组y并获取用户a,b和c
  • 查询组z并获取用户a,b和c

或者,我想

  • 查询组x并获取组s
  • 查询组y并获取组r和s
  • 查询组z并获取组r和s(我希望RULE_IN_CHAIN在这里有所帮助,但我无法使其正常工作。)

虽然不是最优的,但这样我至少可以在两个查询中回答这个问题:

  1. 我的小组决定使用哪些公司安全组?
  2. 哪些用户是这些群组的成员? (例如,(|(memberOf=r)(memberOf=s))

0 个答案:

没有答案