Назад | Перейти на главную страницу

Запрос LDAP для Barracuda

У меня есть брандмауэр 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})
  )
 )
)