【问题标题】:Getting all members of a group and its subgroups获取组及其子组的所有成员
【发布时间】:2019-07-31 23:16:54
【问题描述】:

我有这样的组:

  • A 组
    • B 组
      • 用户
    • G 组
      • 用户

因此,目标是获取属于父组 GroupA 的所有用户。

我有以下过滤器:

(&(objectCategory=Person)(objectClass=User)(mail=*MyEmailDomain.com)(memberOf=CN=GroupB,OU=MyOU3,OU=MyOU2,OU=MyOU1,DC=MyDomain,DC=LOCAL))

这适用于最低级别的群体。

从研究看来,这应该可行,但没有:

(&(objectCategory=Person)(objectClass=User)(mail=*MyEmailDomain.com)(memberof:1.2.840.113556.1.4.1941:=(CN=GroupA,OU=MyOU3,OU=MyOU2,OU=MyOU1,DC=MyDomain,DC=LOCAL)))

如果重要的话,我会使用 Active Directory Explorer 来获取专有名称,并使用 Pentaho 的数据集成工具 (Kettle/PDI) 中的 LDAP 输入步骤来检索数据。

【问题讨论】:

    标签: active-directory ldap pentaho kettle


    【解决方案1】:

    我喜欢这样一个事实,即只要我将问题发布到某个地方,我总能找到答案。我需要学会早点发帖,也许我会花更少的时间搜索:)

    发现了一个随机的 stackoverflow 帖子,表明 msdn 文章中有一个错误,并且括号太多。

    这行不通:

    (&(objectCategory=Person)(objectClass=User)(mail=*MyEmailDomain.com)(memberof:1.2.840.113556.1.4.1941:=(CN=GroupA,OU=MyOU3,OU=MyOU2,OU=MyOU1,DC=MyDomain,DC=LOCAL)))
    

    但这确实有效:

    (&(objectCategory=Person)(objectClass=User)(mail=*MyEmailDomain.com)(memberof:1.2.840.113556.1.4.1941:=CN=GroupA,OU=MyOU3,OU=MyOU2,OU=MyOU1,DC=MyDomain,DC=LOCAL))
    

    (专有名称周围没有括号)

    【讨论】:

    • 一直在发生。简单地解释问题往往足以让你产生不同的想法并找到解决方案!
    • 你为基础设置了什么来应用这个过滤器?
    【解决方案2】:

    嗨,这不会递归地获取用户。这只是给出父组的用户列表而已。

    (&(objectCategory=Person)(objectClass=User)(mail=*MyEmailDomain.com)(memberof:1.2.840.113556.1.4.1941:=CN=GroupA,OU=MyOU3,OU=MyOU2,OU=MyOU1,DC=MyDomain,DC=LOCAL))
    

    【讨论】:

      猜你喜欢
      • 2016-06-05
      • 1970-01-01
      • 2016-04-15
      • 2011-05-26
      • 2019-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-15
      相关资源
      最近更新 更多