让我先从Active Directory的基本布局开始:
DC=com
DC=example
OU=Groups
CN=MaxGroups
CN=MaxAdmins
CN=MaxSupers
CN=MaxTechs
...
OU=ServiceAccounts
CN=maxadmin
CN=maxreg
CN=mxintadm
...
OU=Users
CN=userA
CN=userB
...
我们配置它的方式是MaxAdmins组,MaxSupers组和MaxTechs组都是MaxGroups组的成员(我们这样做是为了满足某些公司的指导方针)。我们有3个服务帐户(maxadmin,maxreg和mxintadm)以及作为这三个组之一(MaxAdmins,MaxSupers和MaxTechs)成员的一组用户。我需要开发的是两个查询。一个用于获取组(这很容易),另一个用于获取其中一个组成员的所有用户。
现在我知道我可以执行用户查询,如:
(&
(objectcategory=user)
(|
(memberOf=CN=MaxAdmins,...)
(memberOf=CN=MaxSuper,...)
(memberOf=CN=MaxTech,...)
)
)
但是,将来我们可能会添加更多群组,并且我不想继续使用更多" OR"&d;组来更新用户查询。我喜欢这样做"伪代码"下面:
Users that are members of a group that is a member of MaxGroups.
基本上我想要一个查询,它可以找到属于MaxGroups的所有组,然后是任何这些组成员的任何用户的列表。这可能吗?我在Google大量搜索"嵌套成员"中遇到的一切。是关于尝试生成用户所属的所有组的列表,而不是作为组成员的成员的用户列表!
非常感谢任何和所有帮助!
谢谢!
答案 0 :(得分:1)
查看链内匹配规则 - https://msdn.microsoft.com/en-us/library/aa746475(v=vs.85).aspx。这样可以得到你想要的东西。