У меня есть брандмауэр 300 Barracuda Spam, который я только что установил на днях. Я работаю над запросом 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 для эффективной фильтрации отключенных учетных записей?
Почему вы проверяете так много вариантов? Части proxyAddresses должно быть более чем достаточно:
(& (! userAccountControl: 1.2.840.113556.1.4.803: = 2)
(proxyaddresses = smtp: $ {recipient_local_part}@ourdomain.com))
Спасибо,
Брайан Десмонд
Активный каталог MVP
Мне сложно протестировать это, но я думаю, что вам нужны паренсы, чтобы сгруппировать! 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})
)
)
)