2012-02-21 84 views
0

我在Active Directory中列出两个以上组中的所有用户时遇到一些困难。我可以specifing的OU列出谁在一组的成员(例如,IT)和DC列出Active Directory中同一级别的两个组中的所有用户

这里是我的代码

public static String usersContainer = "ou=USERS,ou=IT,ou=Accounts,ou=HR,ou=AAB,dc=AXA"; 

如果我想包括在同一时间,他们的帐户也是ou,我该怎么做?

我试过这个解决方案:

ou=USERS,ou=IT,ou=account,dc=XXX,dc=AAA,dc=com 

但是,它给了我这个名字没有发现错误。如何包括在第一OU同级别多一个OU

我的代码的其余部分是

 ctls.setSearchScope(SearchControls.SUBTREE_SCOPE); 
     NamingEnumeration answer = ctx1.search(usersContainer, "(objectClass=user)", ctls); 

谁能帮助

+0

你可以给你的代码和你过滤,但它可以是:[LDAP根查询语法来搜索多个特定的OU](http://stackoverflow.com/q/9184978/608772) – JPBlanc 2012-02-21 12:40:34

+0

你是否在我的公共用户集装箱中以mo不同于公共静态String usersContainer =“ou = USERS,(|(ou = IT)(ou =账户)(ou = HR),ou = AAB,dc = AXA”;它是正确的吗? – user1080320 2012-02-21 16:50:22

+0

我试过上面的解决方案,但它没有为我工作公共静态字符串usersContainer =“ou = USERS,(|(ou = IT)(ou =帐户)(ou = HR),ou = AAB,dc = AXA” ; – user1080320 2012-02-22 06:37:49

回答

0

我可以看看你的代码,但我的回答完全相同的问题在:LDAP root query syntax to search more than one specific OU

+0

您是否在我的public usersContainer中将其修改为public static String usersContainer =“ou = USERS,(|(ou = IT)(ou = Accounts)(ou = HR),ou = AAB,dc = AXA”;公共静态字符串usersContainer =“ou = USERS,(|(ou = IT)(ou =账户)(ou = HR),ou = AAB,是否正确? – user1080320 2012-02-21 16:50:31

+0

我尝试了上述解决方案, dc = AXA“; – user1080320 2012-02-22 06:38:02

+0

这是正常的,请准确阅读我给另一个问题的答案。您是开始搜索的两个事情,它是一个区分名称(DN)和过滤器,它是一个布尔表达式。 – JPBlanc 2012-02-22 08:48:27

相关问题