Будучи консультантом, мне доводилось слышать, как директора и менеджеры говорили, что что-то было не так с их папками входящими сообщений. Работая администраторами Exchange, мы знаем, что такие директора и менеджеры, видимо, создавали некорректные правила для папки входящих сообщений, но при этом во всем обвиняют Exchange!
Если бы у нас была возможность управлять правилами папки входящих сообщений для пользователей без необходимости входить на их машины, это экономило бы массу времени сотрудникам службы технической поддержки. С помощью правил для входящих сообщений можно использовать внутреннее приложение, требующее определенных действий, которые лучше не объяснять всем пользователям, и можно создавать правила для входящих сообщений для этого конкретного приложения для всех пользователей без каких-либо проблем.
Итак, это лишь несколько сценариев, в которых управление правилами входящих сообщений может вызывать проблемы, но если вы используете Exchange Server 2010, у вас есть решение всех этих проблем. Можно использовать Exchange Management Shell и несколько команд Inbox Rule для выполнения указанных задач за несколько секунд!
Говоря коротко, мы сможем создавать, удалять, отключать и изменять правила Inbox Rules с помощью PowerShell, не вмешиваясь в работу конечных пользователей.
Понимание правил входящих сообщений (Inbox Rules): сторона сервера и сторона клиента...
Правило Inbox Rule может быть правилом стороны сервера или стороны клиента. Правило стороны сервера может выполняться без определенных требований локальной машины, например: изменение важности сообщения; перемещение входящего сообщения в определенную папку в почтовом ящике пользователя; удаление сообщения и т.д. Общим правилом является то, что все компоненты должны находиться на стороне сервера.
Правило стороны клиента требует обработки в клиенте Outlook, примером правила стороны клиента является перемещение обозначенных правилом сообщений в PST папку. Это правило не может быть выполнено на уровне сервера, поскольку сервер не может работать с PST файлами в этом контексте.
Когда вы создаете правила в Outlook и выбираете опции, требующие правило стороны клиента, Outlook предупредит вас об этом, как показано на рисунке 1.
Рисунок 1
Почему так важно знать отличия правил стороны сервера и стороны клиента? Когда мы управляем правилами Inbox Rules, используя оболочку Exchange Management Shell, все правила клиентской стороны удаляются.
Создание правил с помощью Outlook Web App и Outlook 2010'
Находясь на той же странице, мы быстро рассмотрим, как управлять правилами Inbox с помощью Outlook Web App или Outlook 2010.
Использование Outlook 2010 для этих целей довольно простое. Чтобы приступить к работе, нажмите кнопку Правила (Rules), расположенную в меню Домой (Home), а затем нажмите Управлять правилами и оповещениями (Manage Rules & Alerts') , и все правила будут перечислены в списке. Если у вас есть правило стороны клиента, вы заметите строку (только для клиентов) (client-only) в конце правила, как показано на рисунке 2.
Чтобы управлять правилами с помощью Outlook Web App, нам просто нужно нажать Опции (Options) с правой стороны, а затем нажать Далее (Next).
Список и получение информации о текущих правилах Inbox'
Мы посмотрели, как создавать правила с помощью Outlook 2010 и Outlook Web App. Теперь давайте посмотрим список всех правил Inbox для определенного пользователя, используя Exchange Management Shell.
Для этого используем команду Get-InboxRule со следующим синтаксисом:
Get-InboxRule 'Mailbox <MailboxUser>
Если вы хотите посмотреть определенное правило, вы можете использовать команду:
Get-InboxRule 'Mailbox <MailboxUser> -Identity '<Rule-Name>'
Примечание: Некоторые имена правил создаются с помощью символа ''', в этой ситуации необходимо использовать кавычки дважды, чтобы записать имя правила.
Если вы хотите посмотреть правила Inbox для пользователя, используйте следующий синтаксис:
Get-InboxRule 'Mailbox <MailboxUser> | Select Name, Description | fl
Результаты этой команды показаны на рисунке 3, и вы можете просто посмотреть на описание, чтобы найти нужное правило вместо того, чтобы просматривать все свойства правила.
Изменение правила Inbox
Допустим, руководитель отдела назначает синюю категорию (Blue Category), когда сообщение со словом Payroll приходит на пользовательский почтовый ящик, как показано на рисунке 4. Однако сегодня нужно, чтобы этому сообщению была задана красная категория (Red Category), и оно было помечено отметкой особой важности (High Importance).
Здесь у нас есть пара подходящих вариантов: можно послать сотрудника Help Desk, и бедняге придется ждать, чтобы исправить проблему; попытаться создать удаленный сеанс; или просто использовать данное руководство, чтобы выполнить задачу в считанные секунды! :)
Вариант с наименьшими затратами по времени и без необходимости сталкиваться с начальством кажется весьма привлекательным, не так ли? Ладно, давайте воспользуемся им... Первым шагом будет поиск имени правила Inbox, как мы делали это в предыдущем разделе, что показано на рисунке 5.
Теперь давайте получим подробности для этого конкретного правила Inbox, используя следующую команду: Get-InboxRule 'Mailbox Anderson -Identity 'Subject contains 'Payroll'', на рисунке 6 показаны атрибуты, которые нам нужно изменить, это ApplyCategory и MarkImportance атрибуты.
Рисунок 6
Теперь, когда мы знаем их значения, давайте выполним следующую команду, чтобы изменить правило Inbox в соответствие с требованиями руководителя отдела, следующим образом:
Set-InboxRule -Mailbox Anderson -Identity "Subject contains 'Payroll'" -ApplyCategory {Red Category} -MarkImportance 2
Давайте выполним еще одну проверку, после чего мы заметим различия, теперь категория будет Red, а важность сообщения будет иметь значение High, как показано на рисунке 7.
Отключение и удаление правил Inbox
Мы можем отключить и/или удалить пользовательские правила Inbox. Допустим, наш руководитель отдела снова передумал, и не хочет вносить изменения в сообщения, которые содержат строку Payroll. Для этого можно просто отключить правило, используя следующую команду:
Disable-InboxRule -Mailbox Anderson -Identity "Subject contains 'Payroll'"
Результаты можно посмотреть в списке правил Inbox пользовательского почтового ящика, рисунок 8.
Если вы хотите удалить правило, процесс будет идентичным, просто нужно выполнить команду со следующим синтаксисом:
Remove-Inboxrule 'Mailbox <MailboxName> -Identity '<Inbox Rule name>'
Команда запросит подтверждение, просто введите Y и все готово. Действие команды показано на рисунке 9.
Когда вы пытаетесь отключить и/или удалить правило Inbox для почтового ящика, в котором есть правило стороны клиента или отключенное правило, у вас появится следующее дополнительное сообщение: Использование Outlook Web App для изменения правил удалит все правила, которые были ранее отключены в Outlook. Если вы хотите сохранить правила, отключенные в Outlook, нажмите «Нет» и используйте Outlook для изменения правил. Хотите продолжить? (Using Outlook Web App to modify your rules will delete any rules that were previously turned off using Outlook. If you want to preserve the rules you turned off using Outlook, click 'No' and use Outlook to edit your rules. Are you sure you want to proceed?) Причиной появления этого сообщения является то, о чем мы говорили в последнем предложении нашего вводного раздела. Все правила стороны клиента будут удалены, если вы изменяете правило входящих сообщений с помощью Exchange Management Shell.
Создание правил Inbox
Помимо изменения и удаления/отключения правил Inbox, их можно также создавать с помощью Exchange Management Shell. Допустим, нам нужно настроить все сообщения, приходящие из информационного отдела, так, чтобы они имели высокую степень важности (High importance), и им присваивалась оранжевая категория (Orange category).
Чтобы создать правило для одного пользователя, используем следующую команду:
New-InboxRule -Mailbox anderson -Name ADM_ITRule -From it@apatricio.local -ApplyCategory 'Orange Category' -MarkImportance 'High'
Мы можем использовать эти же возможности для создания правила, которое будет применяться к определенной группе пользователей или ко всем пользователям. Допустим, нам нужно настроить применение этого правила для всех пользователей, для этого воспользуемся командой:
Get-Mailbox | foreach { New-InboxRule -Mailbox $_.Name -Name <InboxRuleName> -From <user@domain.org> -ApplyCategory 'Orange Category' -MarkImportance 'High' }
Результаты показаны на рисунке 10
Следует помнить, что если вы выполните вышеуказанный сценарий, все правила стороны клиента будут удалены. Если вы выполните этот сценарий для всех пользователей, правила стороны клиента будут удалены у всех пользователей в вашей сети.
Заключение
В этой статье мы рассмотрели процесс управления правилами входящих сообщений (Inbox Rules) из централизованного места. В правилах входящих сообщений можно настроить несколько элементов, и в этой статье мы рассмотрели лишь некоторые из них. Используйте свое воображение и требования своей компании, чтобы создавать правила Inbox.