【问题标题】:ldap query for group membersldap 查询组成员
【发布时间】:2010-05-13 10:26:35
【问题描述】:

我正在尝试进行 LDAP 查询,以获取我所有组/成员的列表。我不知道我该怎么做。我所有的尝试都不成功。

我的“AD 树”:mydomain.local/Mybusiness/Distribution Groups/ 这是我的组

我尝试过这样的事情:

(objectCategory=user)
(memberOf=CN=Distribution Groups,OU=Mybusiness,DC=mydomain.local,DC=com)

如果有人可以帮助我编写一个 ldap 查询,我将不胜感激,它会列出我的群组和该群组的成员。

【问题讨论】:

    标签: ldap


    【解决方案1】:

    查询应该是:

    (&(objectCategory=user)(memberOf=CN=Distribution Groups,OU=Mybusiness,DC=mydomain.local,DC=com))
    

    你错过了 &()

    【讨论】:

    • 如果我理解的话,这个查询将显示与该组具有相同domain 的所有成员。如果我想查看所有组成员,不管domain如何?
    • @juan mellado 恐怕我没抓到你。组应在域下创建。这是一个示例: (&(objectCategory=user)(memberOf=CN=admins,DC=root,DC=com)) - 此查询将显示管理员组中的所有成员,“CN=admins,DC=root,DC= com" 是组的 DN。
    【解决方案2】:

    Active Directory 不会将组成员身份存储在用户对象上。它仅将成员列表存储在组中。这些工具通过对其进行查询来显示用户对象的组成员身份。

    怎么样:

    (&(objectClass=group)(member=cn=my,ou=full,dc=domain))

    (您也忘记了问题示例中的 (&) 位)。

    【讨论】:

    • 我不熟悉 AD 和 LDAP。我尝试按照您提到的方式进行此查询,但结果为空。 ou=full 是什么意思?
    • 将开玩笑的 cn=my,ou=full,dc=domain 值替换为对您系统感兴趣的用户的真实 DN。点表示法的 My.Full.Domain。
    【解决方案3】:

    从一个组中获取所有成员的好方法是将组的DN作为searchDN,并将“成员”作为属性传递给搜索功能。现在可以通过搜索返回的属性值找到该组的所有成员。 过滤器可以像 (objectclass=*) 这样通用。

    【讨论】:

    • 为了详细说明 jwilleke 的评论,默认情况下,AD 不会列出超过 1500 个(旧版本为 1000 个)多值属性(如 member)的组件,但是当然许多 AD 组有更多的成员比起那个来说。 AD 支持ranged retrieval 从具有 > 1500(或 1000)成员的 AD 组中获取所有属性。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-12
    相关资源
    最近更新 更多