Удаление SMTP-адресов в Exchange 2007 по маске

Итак, задачка: удалить некоторые из smtp-адресов пользователей, а конкретно те которые попадают под маску *@domain.ru

Для начала проделаем на одном пользователе:

$mb = Get-Mailbox gusev
$mb.EmailAddresses = $mb.EmailAddresses -notlike "*@domain.ru"
$mb | Set-Mailbox

Ну и тоже самое, но на всех:

Get-Mailbox | Foreach-Object {
$_.EmailAddresses = $_.EmailAddresses -notlike "*@domain.ru"
$_ | Set-Mailbox
}

Здесь мы просто перенаправили вывод командлета Get-Mailbox (который без параметров просто вернёт все почтовые ящики) в командлет Foreach-Object. Foreach-Object позволяет выполнить код (внутри фигурных скобок) на всех переданных ему объектах. При этом каждый обрабатываемый объект будет представлен в виде специальной переменной $_.

Вот собственно и всё🙂 Но по возможности, лучше конечно решать такие задачи политиками адресов.

комментария 2 to “Удаление SMTP-адресов в Exchange 2007 по маске”

  1. Arman Says:

    Все говорят но конкретных примеров не встречал,
    очень просто и самое главное полезно!
    спасибо большое!

  2. Stanislav Says:

    политики — дело политическое, а не техническое =) периодически вектор направления политики меняется, так что не всегда использование политик — дело хорошее. а вот правка smtp-алиасов с помощью PoSh дело удобное =)


Обсуждение закрыто.

%d такие блоггеры, как: