我有一个梭子鱼垃圾邮件防火墙300,我刚刚安装了一天。 我正在使用LDAP交换服务器进行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来有效地过滤掉已禁用的帐户?
我很难testing这个,但是我认为你需要把这个!useraccountcontrol和or块分组。
(& ( (!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}) ) ) )
你为什么要检查这么多的选项? proxyAddresses部分应该绰绰有余:
(&(!userAccountControl:1.2.840.113556.1.4.803:= 2)
(proxyaddresses = smtp:$ {recipient_local_part}@ourdomain.com))
谢谢,
布莱恩·德斯蒙德
活动目录MVP