PHP LDAP搜索/列表过滤器问题 - 逻辑NOT

时间:2010-11-02 21:10:13

标签: php active-directory ldap

我正在使用此过滤器运行ldap_list:

"(&(givenname=*)(objectClass=User)(!department=Executive))"

我在PHP日志中得到零结果和此警告:

  

ldap_get_entries():提供的参数不是有效的ldap结果资源...

如果我删除部门的NOT运算符并运行它:

"(&(givenname=*)(objectClass=User)(department=Executive))"

我得到了我期待的确切结果,没有任何警告。由于我使用后一个过滤器获得了良好的结果,我只能假设我的ldap连接,base_DN和属性是正确的。我通过管理控制台在Active Directory用户和计算机中运行了两个过滤器,并且两者都运行良好,因此我可以假设过滤器是正确的。只是为了笑容我尝试了ldap_search而不是ldap_list并得到了相同的结果。有什么想法吗?

哦,我在IIS 7.5上运行PHP 5.2.14。

由于

1 个答案:

答案 0 :(得分:3)

您需要将操作符移到括号外

(!(department=Executive))