我需要一個搜索過濾器來顯示特定組的用戶。LDAP查詢列出某個組的所有用戶
我已經試過如下:
(&
(objectCategory=user)
(memberOf=MyCustomGroup)
)
這:
(&
(objectCategory=user)
(memberOf=cn=SingleSignOn,ou=Groups,dc=tis,dc=eg,dc=ddd,DC=com)
)
,但一無所獲,請幫我改正。
我需要一個搜索過濾器來顯示特定組的用戶。LDAP查詢列出某個組的所有用戶
我已經試過如下:
(&
(objectCategory=user)
(memberOf=MyCustomGroup)
)
這:
(&
(objectCategory=user)
(memberOf=cn=SingleSignOn,ou=Groups,dc=tis,dc=eg,dc=ddd,DC=com)
)
,但一無所獲,請幫我改正。
memberOf(在AD中)存儲爲distinguishedName的列表。你的過濾器需要是這樣的:
(&(objectCategory=user)(memberOf=cn=MyCustomGroup,ou=ouOfGroup,dc=subdomain,dc=domain,dc=com))
如果您還沒有分辨名稱,你可以搜索它:
(&(objectCategory=group)(cn=myCustomGroup))
,並返回屬性distinguishedName
。情況可能很重要。
對於Active Directory用戶,另一種方法是 - 假定您的所有組都存儲在OU=Groups,DC=CorpDir,DC=QA,DC=CorpName
中 - 使用查詢(&(objectCategory=group)(CN=GroupCN))
。對於所有成員少於1500人的團隊來說,這將很有效。如果您想列出大型廣告組的所有成員,則同一個查詢可以正常工作,但您必須使用ranged retrieval才能一次獲取所有成員的1500條記錄。
執行分段檢索的關鍵是使用以下語法在屬性中指定範圍:屬性;範圍=低 - 高。因此,要獲取包含3000個成員的AD組的所有成員,請首先運行上述查詢,要求返回member;range=0-1499
屬性,然後再獲取member;range=1500-2999
屬性。
不要忘記指定'(CN = GroupCN)'。我試圖請求所有組,並且直到我指定它纔會工作。當你指定範圍時,你也可以使用星號:'member; range = 1500- *' - 它也很好。 – Stalinko 2016-07-26 10:30:26
什麼是ou = ouOfGroup? – 2012-03-27 13:06:21
通常在Active Directory中,您有許多包含該結構的組織單位。組的默認根OU是組。很可能是cn = MyCustomGroup,ou = Groups,dc = subdomain,dc = domain,dc = com會爲你工作。 如果不行,我會建議對你的組進行LDAP搜索(&(objectCategory = group)(cn = MyCustomGroup))並在結果集中包含distinguishedName屬性。這將告訴你在你的其他查詢中使用什麼字符串 – Kodra 2012-03-27 13:13:44
我做了你所說的,但我沒有使用以下結果:(&(objectCategory = user)(memberOf = cn = SingleSignOn,ou = Groups,dc = tis,dc =例如,dc = ddd,DC = com)) – 2012-03-27 13:16:08