如何在 ldapsearch 和 Active Directory 的属性中使用通配符?
How do I use a wildcard in an attribute with ldapsearch and Active Directory?
我在 AD 中有 memberOf
属性的用户具有 cn=ad-users103,ou=hr,ou=groups,dc=mycorp,dc=com
或 cn=ad-users203,ou=hr,ou=groups,dc=mycorp,dc=com
。我想使用像 cn=ad-users*
这样的过滤器,但它没有返回结果。我在 Linux 中使用 ldapsearch
来测试我的过滤器。
我试过使用这样的过滤器,returns 用户信息:
ldapsearch -D "cn=admin..." -b "dc=mycorp,dc=com" -x -H ldaps://ldap.mycorp.com -w $PASS -E pr=100/noprompt "memberOf=cn=ad-users203,ou=hr,ou=groups,dc=mycorp,dc=com"
当我添加通配符时(以here为例),我没有得到任何结果:
ldapsearch -D "cn=admin..." -b "dc=mycorp,dc=com" -x -H ldaps://ldap.mycorp.com -w $PASS -E pr=100/noprompt "memberOf=cn=ad-users*"
我试过将 splat 移动到过滤器中的不同位置,但无济于事。搜索应该以这种方式工作还是我需要使用 (&(memberOf=cn=ad-users103...)(memberOf=cn=ad-users203...))
之类的东西来代替?
memberOF 是一个专有名称属性值,专有名称不支持通配符,如下所示:
而且我认为您的 AND 搜索
(&(memberOf=cn=ad-users103...)(memberOf=cn=ad-users203...))
应该是和OR搜索:
(|(memberOf=cn=ad-users103...)(memberOf=cn=ad-users203...))
我在 AD 中有 memberOf
属性的用户具有 cn=ad-users103,ou=hr,ou=groups,dc=mycorp,dc=com
或 cn=ad-users203,ou=hr,ou=groups,dc=mycorp,dc=com
。我想使用像 cn=ad-users*
这样的过滤器,但它没有返回结果。我在 Linux 中使用 ldapsearch
来测试我的过滤器。
我试过使用这样的过滤器,returns 用户信息:
ldapsearch -D "cn=admin..." -b "dc=mycorp,dc=com" -x -H ldaps://ldap.mycorp.com -w $PASS -E pr=100/noprompt "memberOf=cn=ad-users203,ou=hr,ou=groups,dc=mycorp,dc=com"
当我添加通配符时(以here为例),我没有得到任何结果:
ldapsearch -D "cn=admin..." -b "dc=mycorp,dc=com" -x -H ldaps://ldap.mycorp.com -w $PASS -E pr=100/noprompt "memberOf=cn=ad-users*"
我试过将 splat 移动到过滤器中的不同位置,但无济于事。搜索应该以这种方式工作还是我需要使用 (&(memberOf=cn=ad-users103...)(memberOf=cn=ad-users203...))
之类的东西来代替?
memberOF 是一个专有名称属性值,专有名称不支持通配符,如下所示:
而且我认为您的 AND 搜索
(&(memberOf=cn=ad-users103...)(memberOf=cn=ad-users203...))
应该是和OR搜索:
(|(memberOf=cn=ad-users103...)(memberOf=cn=ad-users203...))