exchange-server-logo

Автоматическое включение журнала аудита почтового ящика (Mailbox Audit Logging) при создании ящика

Если в вашей организации используется Mailbox Audit Logging на всех почтовых ящиках, то скорее всего, есть необходимость автоматизировать его включение на всех создаваемых ящиках. Это позволит избежать ситуаций, когда аудит забыли включить при создании ящика.
В этой статье я рассмотрю автоматизацию этого процесса с помощью Scripting Agent — агента расширения командлета (Cmdlet Extension Agent). Подробнее о агентах расширения командлета можно прочитать здесь. Вкратце, суть агентов расширения сводится к тому, что они позволяют выполнить дополнительные действия при выполнении командлета. Администраторы могут настраивать эти действия, расширяя, таким образом, функционал командлетов.

Включаем Scripting Agent, если он не был включен ранее

Проверяем текущее состояние агента:

При включении агента расширения командлета Scripting Agent он вызывается при каждом запуске командлета. Это относится не только к командлетам, запускаемым пользователем в EMS, но и к командлетам, запускаемым службами Exchange и центром администрирования Exchange.
Первым шагом мы распространяем конфигурацию Scripting Agent на все серверы Exchange в организации. Это можно сделать вручную, распространив файл конфигурации ScriptingAgentConfig.xml на все серверы. Либо воспользоваться сценарием PowerShell GitHub  для распространения файла конфигурации, если серверов много.
Файл ScriptingAgentConfig.xml должен находится в <путь_установки>\V15\Bin\CmdletExtensionAgents. 
Для включения аудита файл конфигурации должен содержать соответствующие команды:

Не забудьте изменить суффикс domain.com на свой

Start-sleep можно попробовать изменить в меньшую или большую сторону, всё зависит от скорости репликации Active Directory в вашем сайте.
При успешном выполнении командлетов New-Mailbox или Enable-Mailbox запускается командлет Set-Mailbox, который включает аудит.
После распространения файла конфигурации включаем Scripting Agent:

Проверяем работу агента

Для проверки работоспособности Scripting Agent создадим новый почтовый ящик через Exchange admin Center и проверим включился ли для него аудит:

Как видим, Scripting Agent отработал успешно и аудит для нового ящика включен.

Понять, что конкретно приходит в $provisioninghandler.UserSpecifiedParameters можно выгрузив данные переменной в текстовый файл:

Это удобно, когда требуется понять, чем можно оперировать в сценарии.

Примеры использования Scripting Agent: https://blogs.technet.microsoft.com/rmilne/2014/06/24/exchange-scripting-agent-the-power-of-script/

Добавить комментарий