ldapsearch用于活动目录搜索

问题描述 投票:0回答:1

我有很多广告组都是以 ad-grp-<something>-something.

我想运行ldapsearch命令来拉出该组的成员,我需要的只是成员ID,而不是全名。

ldapsearch -xLLL -b "DC=myteam,DC=com" -D user@myteam -h my-host.myteam.com 
           -w Abcd123 "(&(objectClass=group) "(&(memberOf=CN=ad-grp-*,OU=PermissionGroups,OU=Groups,DC=myteam,DC=com))"  

这样我得到了成员的全名,但我想得到该用户的成员ID。

你能帮助我吗?

或者分享一下是否有其他简单的方法?

search active-directory ldap
1个回答
0
投票

你不能在任何有以下属性的地方使用通配符 distinguishedName 值中,如 memberOf. 所以你要先搜索群组。(&(objectClass=group)(cn=ad-grp-*))

如果你确定每个组的成员名单少于1500个,那么你可以用 "搜索 "来搜索。member 属性的搜索。但是如果其中一些群组的成员超过1500人,那么要找到所有的群组就会变得比较复杂(一次只能给你1500人)。

如果其中一些组可能是大组,那么你可以把全部的 distinguishedName 为每一个组(从搜索结果中)构建一个新的查询来查找每个组的成员。类似这样。

(&(objectCategory=person)(objectClass=user)(|(memberOf=CN=ad-grp-1,OU=PermissionGroups,OU=Groups,DC=myteam,DC=com)(memberOf=CN=ad-grp-2,OU=PermissionGroups,OU=Groups,DC=myteam,DC=com)))

这只显示了两个组(ad-grp-1ad-grp-2). 将它们全部添加到查询中。

© www.soinside.com 2019 - 2024. All rights reserved.