【发布时间】:2015-09-19 12:56:10
【问题描述】:
我正在重写一些 PowerShell 脚本以在 PHP 中工作,而这个脚本让我陷入了困境。我需要获取计算机列表,但排除带有-NEW 和-OLD 的计算机。以下是我的想法,但是当我尝试这样做时,我得到ldap_search(): Search: Bad search filter 作为错误。
$LDAP_Search_String = "(&(objectClass=computer)(name=NFDW*)(!name=NFDW*-NEW)(!name=NFDW*-OLD))";
如果我从查询中删除(!name=NFDW*-NEW)(!name=NFDW*-OLD),它可以正常工作。
附加信息:
我已经尝试过 (&(objectClass=computer)(name=NFDW*)(|(!name=NFDW*-NEW)(!name=NFDW*-OLD))) 以及被删除的答案和错误搜索过滤器的相同结果所建议的。
【问题讨论】:
-
尝试在
!周围添加括号,即(!(name=NFDW*-NEW))(!(name=NFDW*-OLD)) -
@FuzzyTree 好了。请把它作为答案。
标签: php ldap ldap-query