LDAP 搜索字符串排除

LDAP Search String Exclude

我正在重写一些 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))