2010-11-02 82 views
1

我正在用此过滤器的ldap_list:PHP LDAP搜索/列表过滤的问题 - 逻辑非

"(&(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。

感谢

回答

3

你需要移动运营商括号

(!(department=Executive)) 
+0

BINGO是做到了外面。谢谢 – Curtis 2010-11-03 13:59:39