Active directory 获取组及其子组的所有成员
我有这样的小组:Active directory 获取组及其子组的所有成员,active-directory,ldap,pentaho,kettle,Active Directory,Ldap,Pentaho,Kettle,我有这样的小组: GroupA B组 用户 集团 使用者 因此,目标是获取属于父组GroupA的所有用户 我有以下过滤器: (&(objectCategory=Person)(objectClass=User)(mail=*MyEmailDomain.com)(memberOf=CN=GroupB,OU=MyOU3,OU=MyOU2,OU=MyOU1,DC=MyDomain,DC=LOCAL)) 它适用于最低级别的组 从研究来看,这似乎应该是可行的,但事实并非如此: (&
- GroupA
- B组
- 用户
- 集团
- 使用者
- B组
(&(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输入步骤检索数据。我喜欢这样一个事实,即我总是在发布问题时找到问题的答案。我需要学会更早发布,也许我会花更少的时间搜索:) 发现一篇随机的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))
(可分辨名称周围没有括号)Hi这不会递归地获取用户。这只是给出父组的用户列表
(&(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))
这种事经常发生。简单地解释问题往往足以让你改变想法,找到解决办法!应用此过滤器的基础设置是什么?