Active directory 如何找出用户所属的所有动态LDAP组?

Active directory 如何找出用户所属的所有动态LDAP组?,active-directory,ldap,openldap,ldap-query,directory-server,Active Directory,Ldap,Openldap,Ldap Query,Directory Server,假设一个用户是2个或更多动态组的一部分。如何查询用户所属的所有组的列表?我已经检查了人们谈论具有“member”属性的静态组的答案。我没有找到动态组的答案。动态组与静态组没有区别,只是动态组成员身份是根据请求生成的,而不是存储在数据库中(在大多数服务器上)。因此,使用相同的方法获取组成员资格。这可能是使用成员、成员、isMemberOf,或者完全使用其他内容,具体取决于服务器 例如: ldapsearch --hostname hostname --port port

假设一个用户是2个或更多动态组的一部分。如何查询用户所属的所有组的列表?我已经检查了人们谈论具有“member”属性的静态组的答案。我没有找到动态组的答案。

动态组与静态组没有区别,只是动态组成员身份是根据请求生成的,而不是存储在数据库中(在大多数服务器上)。因此,使用相同的方法获取组成员资格。这可能是使用
成员
成员
isMemberOf
,或者完全使用其他内容,具体取决于服务器

例如:

ldapsearch --hostname hostname --port port                     \
       --baseDN 'dc=example,dc=com' --bindDN cn=RootDN         \
       --bindPasswordFile 'fileWithPassword' --searchScope sub \
       '(uid=username-youre-looking-for)' isMemberOf

此(针对您的安装进行重构)将返回一个包含用户DN的搜索结果,以及一个
isMemberOf
属性列表(每个属性都带有DN语法),该属性将是用户所属组的DN。

这是真的吗?当然,动态组自己的成员属性(例如roleOccupant、uniqueMember等)是动态生成的,但以正常方式检索,但是,如果用户对象具有“memberOf”属性,它们是否真的是动态生成的?这似乎需要评估DIT中每个动态组的可能成员身份。。。看起来很贵。在某些服务器上确实如此,因此是“动态的”。我想你没有领会我的意思。我知道一个动态组自己的成员(用其自身属性表示)是动态的。我问的是相反的情况,用户包含自己的成员身份,他可能是动态组的成员。您询问的是用户条目中的memberOf或isMemberOf属性。答案是一样的,在某些服务器中,这些属性是根据请求生成的,不存储在用户条目中。在这些情况下,需要权衡的是,对于包含数千万条目的数据库(我最常处理的条目),通过动态计算组成员身份而使用的存储量较少,而计算量较小。谢谢。怎么说“轻微”?当然,服务器必须(a)找到所有动态组,然后(b)找到它们的所有成员,以确定哪些动态组应该位于
成员中。。。请记住,此过程将主要生成不匹配项。