可能您想使用任何 AD 浏览器(例如 NetTools )检查OU是否真的在memberOf中。通常,您至少可以通过三种方式达到所需的结果:
通过将过滤器放在单引号或双引号中并按原样保留带有空格的部分
角 <...> 括号是您的值的模板
“Администраторы домена”是西里尔字母,意思是“域管理员”
前任。
ldapsearch -H ldap://<server>:<port> -D '<distinguishedName>' -w <password> -b "DC=avt,DC=local" "(memberOf=CN=Администраторы домена,CN=Users,DC=avt,DC=local)"
...
# search result
# numEntries: 11
通过将过滤器放在引号和带有双引号中的空格的值中
前任。(为简洁而减少)
ldapsearch ... -b "..." '(memberOf=CN="Администраторы домена",CN=Users,DC=avt,DC=local)'
...
# search result
# numEntries: 11
通过将过滤器放在双引号中并屏蔽任何嵌套的双引号
ldapsearch ... -b "..." "(memberOf=CN=\"Администраторы домена\",CN=Users,DC=avt,DC=local)"
...
# search result
# numEntries: 11
这些都行不通。下面的例子是故意错误的
ldapsearch ... -b "..." "(memberOf=CN='Администраторы домена',CN=Users,DC=avt,DC=local)"
...
# search result
ldapsearch 响应没有帐户并且答案缺少 numEntries
ldapsearch ... -b "..." "(memberOf=CN="Администраторы домена",CN=Users,DC=avt,DC=local)"
...
ldap_search_ext: Bad search filter (-7)
ldapsearch ... -b "..." (memberOf=CN="Администраторы домена",CN=Users,DC=avt,DC=local)
bash: syntax error near unexpected token `('