我有一个前几天刚安装的梭子鱼垃圾邮件防火墙 300。我正在处理一个 LDAP 查询,以便将它与我的交换服务器一起使用。到目前为止我所拥有的是:
(&
(!userAccountControl:1.2.840.113556.1.4.803:=2)
(|
(sAMAccountName=${recipient_local_part})
(othermailbox=smtp:${recipient_local_part}@ourdomain.com)
(proxyaddresses=smtp:${recipient_local_part}@ourdomain.com)
(mail=${recipient_email})
(userPrincipalName=${recipient_local_part})
)
)
为了您的方便,我已经对其进行了格式化。我想要做的是过滤掉在目录中被禁用的用户,因为他们可能有有效的地址,但我不想再为他们接受邮件了。我们将他们的电子邮件地址保留很长时间,但公司政策禁止我将其从目录中删除。
当查询运行时,我收到以下错误:
failed to issue LDAP find operation: Bad search filter
该查询在没有 (!userAccountControl:1.2.840.113556.1.4.803:=2) 的情况下工作,但这是过滤掉禁用帐户的行。
如何使用 LDAP 有效地过滤掉禁用的帐户?
我很难测试这个,但我认为你需要括号来分组 !useraccountcontrol 和 or 块。
你为什么要检查这么多选项?proxyAddresses 部分应该绰绰有余:
(& (!userAccountControl:1.2.840.113556.1.4.803:=2)
(proxyaddresses=smtp:${recipient_local_part}@ourdomain.com) )
谢谢,
布赖恩戴斯蒙德
活动目录 MVP