В 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
Вот и вся архивация, господа!