angle-left

Коротко об архивации Exchange

В Microsoft Exchange есть штатная возможность архивирования. В данной заметке я опишу как пользоваться данной возможностью через Exchange Management Shell (EMS).

Про настройку архивации в Exchange через Центр администрирования Exchange (ECP Exchange Control Panel) написано более чем предостаточно наглядных статей и заметок на множестве языков и с огромным разнообразием сопровождающих скриншотов. Но на мой взгляд использование ручной настройки архивации может быть достаточно проблематичным в существующей крупной инфраструктуре. Использование EMS для достижения этой цели является достаточно простым способом не требующим глубоких знаний и большого опыта.

Сначала о лицензиях

Использование архивации требует наличия Exchange Enterprise CAL. Более подробно можно почитать здесь .

Создание архивной базы данных

Создаем архивную базу данных.
Включаем ротацию логов, исключаем базу данных из распределения при создании почтовых ящиков

 $archive_name=“ArchiveDB″
 New-MailboxDatabase -Name $archive_name -EdbFilePath “G:\Archive\ArchiveDB.edb” -logFolderPath “G:\Archive″
 Get-MailboxDatabase $archive_name | Set-MailboxDatabase -CircularLoggingEnabled $true -IsExcludedFromProvisioning $true

 

Активация архивов для пользователей баз данных

Для активации архивирования для почтового ящика требуется выполнить 
 

Enable-Mailbox -Archive -ArchiveDatabase $archive_name

 

Для активации архивов для всех пользователей какой-то конкретной базы данных треубуется выполнить

$archive_name=“ArchiveDB″
$database_name="MailboxDatabase-13"
Get-Mailbox -Database $database_name |Enable-Mailbox -Archive -ArchiveDatabase $archive_name

 

Ежели в Вашем случае имеются почтовые ящики с включенным архивированием, то для их исключения добавим условие в -Filter

$archive_name=“ArchiveDB″
$database_name="MailboxDatabase-13"
Get-Mailbox -Database $database_name -Filter {ArchiveGuid -Eq $null -AND ArchiveDomain -eq $null -AND Name -NotLike "DiscoverySearchMailbox*"}|Enable-Mailbox -Archive -ArchiveDatabase $archive_name

 

После выполнения этих действий у пользователей появятся архивные папки.
Следующим шагом является автоматизация архивирования

Создание политик хранения

Политика хранения(Retention Policy) содержит в себе теги хранения (Retention Policy Tag).

Тег хранения является своего рода условием (например возраст письма). 

Политика хранения может содержать в себе несколько таких условий. Именно политика хранения применяется на почтовые ящики и следуя тегам осуществляется автоматизация перемещения/удаления элементов почтового ящика. 
Подробней об этом можно почитать здесь

Создаем теги хранения.
В конкретном примере я создаю тег хранения применяемый на весь почтовый ящик который перемещает все элементы в архив старше 365 дней.

$retentionTag_name="test"
New-RetentionPolicyTag -Name $retentionTag_name -AgeLimitForRetention 365 -RetentionEnabled $true -RetentionAction MoveToArchive

 

Теперь создадим новую политику хранения и привязываем к ней наш тег

 
$retentionTag_name="test"
$retentionPolicy="Archiving year"

New-RetentionPolicy $retentionPolicy -RetentionPolicyTagLinks $retentionTag_name

 

Обращу внимание еще раз, что политика хранения может содержать более одного тега, что позволяет добится высокой гибкости в автоматизации распределения содержимого почтовых ящиков. В случае нескольких тегов они указываются через запятую

Применение политики хранения на почтовые ящики

Для того, чтобы применить политику на почтовый ящик необходимо выполнить
 

$retentionPolicy="Archiving year"
Set-Mailbox -RetentionPolicy $retentionPolicy


Для того, чтобы применить политику хранения на все почтовые ящики базы данных выполняем

$database_name="MailboxDatabase-13"
$retentionPolicy="Archiving year"
Get-Mailbox -Database $database_name | Set-Mailbox -RetentionPolicy $retentionPolicy

 

Принудительный запуск обработки почтовых ящиков

Теперь, для незамедлительного применения конфигурации необходимо выполнить запуск обработки почтового ящика.
Делается это командлетом Start-ManagedFolderAssistant
Для старта запуска обработки почтовых ящиков для определенной базы данных требуется выполнить

$database_name="MailboxDatabase-13"
Get-Mailbox -Database $database_name | Start-ManagedFolderAssistant

 

 

Вот и вся архивация, господа!