Белые списки в Exchange 2007
Известно, что добавить адрес в черный список content-filtering’а Exchange можно через графическую консоль – пункты Sender Filtering и Recipient Filtering. А вот добавить запись в белый список через графическую консоль нельзя – можно только через PowerShell. За это отвечает команда Set-ContentFilterConfig.
При этом запись добавляется интересно – если просто выполнить эту команду, указав один нужный нам адрес – то текущий список адресов будет очищен, и указанный нами адрес в него занесется один. Следовательно, нам нужно: получить существующий список «белых» адресов, пополнить этот список нужным адресом, и загрузить его обратно в Exchange.
Решение для удобства можно оформить в виде скрипта, назвав его, например, add-wlemail.ps1:
param($email)
$list = (Get-ContentFilterConfig).BypassedSenders
$list.Add($email)
Set-ContentFilterConfig -BypassedSenders:$list
(Get-ContentFilterConfig).BypassedSenders
Теперь можно запускать этот скрипт, указав в качестве параметра нужный нам адрес: .\add-wlemail.ps1 some-email@some-domain.ru
Этот скрипт занесет указанный нами e-mail в белый список и выведет на экран результирующий белый список адресов.
А вот другой скрипт – для занесения в белый список целых доменов – add-wldomain.ps1:
param($domain)
$list = (Get-ContentFilterConfig).BypassedSenderDomains
$list.Add($domain)
Set-ContentFilterConfig -BypassedSenderDomains:$list
(Get-ContentFilterConfig).BypassedSenderDomains
PS: Конечно, для того, чтобы эти скрипты работали, нужно либо снабдить их цифровой подписью, либо разрешить выполнение неподписанных скриптов командой Set-ExecutionPolicy Unrestricted.