【问题标题】:LDAP query filter by member count in Active DirectoryLDAP 查询按 Active Directory 中的成员计数过滤
【发布时间】:2017-11-15 21:21:51
【问题描述】:

Active Directory 和创建 LDAP 查询的超级新手。

我想尝试提取只有 1 个成员的通讯组。我试图编辑一个用于查找没有成员的组的查询,但没有运气。我一直在寻找解决方案,但找不到任何信息。我只是好奇这是否可能。

(&(&(&(objectCategory=group)(member=1)(objectClass=group)(proxyAddresses=*@domain.com))))

【问题讨论】:

    标签: active-directory ldap ldap-query


    【解决方案1】:

    不,您不能只使用一个 LDAP 查询。

    (member=1) 过滤器不起作用,因为它只是尝试匹配无效的 dn ('1')。顺便说一句,整个过滤器是错误的,您不需要嵌套条件,也不需要为每个条件添加 & 运算符。但是,您仍然可以添加 (!(member=*)) 以排除没有任何成员的组。因此,在您的情况下,正确的过滤器应如下所示:

    (&(objectCategory=group)(objectClass=group)(proxyAddresses=*@domain.com)(!(member=*)))
    

    要过滤只有一个成员的组,您首先需要使用上面的过滤器搜索组,然后遍历每个组条目,读取成员属性以手动获取计数并排除超过一名成员。

    您还可以向组对象添加自定义属性,以便您可以在其中存储成员计数,最后能够按照您的预期应用过滤器(例如 memberCount=1),即在单个查询中。但这当然也需要维护属性。

    【讨论】:

      猜你喜欢
      • 2021-04-12
      • 1970-01-01
      • 1970-01-01
      • 2018-09-29
      • 1970-01-01
      • 2013-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多