2015-09-07 46 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)) 

希望這可以幫助別人。謝謝。