获取组及其子组的所有成员

elg*_*ito 3 ldap pentaho active-directory kettle

我有这样的团体:

  • A组
    • B族
      • 用户
    • GroupG
      • 用户

因此,目标是让所有用户成为父组GroupA的成员.

我有以下过滤器:

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

哪个适用于最低级别的组.

从研究来看,这似乎应该有效,但不是:

(&(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)))
Run Code Online (Sandbox Code Playgroud)

如果重要,我使用Active Directory资源管理器获取专有名称,并使用Pentaho的数据集成工具(Kettle/PDI)中的LDAP输入步骤来检索数据.

elg*_*ito 6

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

找到一个随机的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)))
Run Code Online (Sandbox Code Playgroud)

但是这个工作:

(&(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))
Run Code Online (Sandbox Code Playgroud)

(杰出名称周围没有括号)