2015-09-07 204 views
1

我在CentOS 6.6机器上安装了Active Directory 2012服务器和openldap-client v2.4。ldapsearch过滤器以获取用户名列表

这是我的用户层次结构。

Syd-Users 
    | 
    | 
    |-- SP Admins (a security group) 
       | 
       | 
       |-- GU Admins (a security group with multiple groups and users) 
       |-- Vikas Kumar (a user) 

我试图做一个递归搜索,这样所有的“用户名”一个特定的安全组“SP管理员”下可以进行递归上市。

# ldapsearch -x -h mydc.harris.syd -D "CN=Bind,OU=Syd-Users,DC=harris,DC=syd" -w 'password' -b "CN=SP Admins,OU=Syd-Users,DC=harris,DC=syd" -s sub "(&(objectClass=*))" | grep ^member 
member: CN=GU Admins,OU=Syd-Users,DC=harris,DC=syd 
member: CN=Vikas Kumar,OU=Aus,OU=Syd-Users,DC=harris,DC=syd 
# 

我已经尝试过几个像下面这样的过滤器。

(&(sAMAccountName=*)(memberof:1.2.840.113556.1.4.1941:=CN=SP Admins,OU=Syd-Users,DC=harris,DC=syd)) 
(&(objectClass=*)(sAMAccountName=*)(memberof:1.2.840.113556.1.4.1941:=CN=SP Admins,OU=Syd-Users,DC=harris,DC=syd)) 

回答

0

被困在书写过滤器中的人应使用Active Directory Explorer。这不是非常用户友好的,但创建和测试过滤器非常有用。

我无法为递归搜索创建过滤器,但使用了另一个安全组,其中包含我想要列出的所有用户。 This链接也有助于确定我需要的属性。

众多命中和试验后,我想出了以下过滤得到的列表sAMAccountName赋的启用用户帐户。

(&(objectClass=user)(objectcategory=person)(sAMAccountName=*)(!userAccountControl=2)(memberOf=CN=AU Admins,OU=Syd-Users,DC=harris,DC=syd)) 

希望这可以帮助别人。谢谢。