如何在LDAP中搜索群组用户?

问题描述 投票:0回答:1

我们有一个小组:“MyTest”在

OU=Domain_users,DС=my,DС=test

我们尝试在该组中查找用户,尝试:

(&(|(sAMAccountName=*$str*)(givenName=*$str*)(sn=*$str*)(middlename=*$str*))(memberOf=CN=MyTest))

和:

(memberOf=CN=MyTest,OU=Domain_users,DС=my,DС=test)

但这不起作用。当我们使用按用户名过滤时,它就可以工作。

ldap ldap-query
1个回答
1
投票

在您的过滤器中,

(memberOf=CN=MyTest)

将确保不返回任何结果。属性

memberOf
是一个 DN,它始终是完整值

CN=MyTest,OU=Domain_users,DС=my,DС=test

如果您无法使用上面的完整 DN 找到任何内容,则只需打印完整的过滤器(到控制台或日志)以确保您拥有有效的 LDAP 过滤器。

编辑

想一想,您无法搜索 LDAP 中所有属性的包含性。尤其不是

sAMAccountName
据我所知。

先试试这个:

(&
    (|
        (sAMAccountName=$str*)
        (givenName=$str*)
        (sn=$str*)
        (middlename=$str*)
    )
    (memberOf=CN=MyTest,OU=Domain_users,DС=my,DС=test)
)

如果有效,您可以尝试使用重复的 OR 来搜索属性:

(|(sAMAccountName=*$str)(sAMAccountName=$str*))

记下通配符的位置。

© www.soinside.com 2019 - 2024. All rights reserved.