Продолжаем серию статей про резервное копирование и восстановление почтовой базы сервера Exchange 2013. В предыдущих статьях мы показали как создать резервную копию почтовой базы Exchange 2013 и как восстановить ее в специальную базу (recovery database). Сегодня рассмотрим процесс восстановления из бэкапа конкретного ящика (целиком и конкретных папок) и отдельных писем.
Итак, в прошлой статье мы остановились на том, что подключили и смонтировали (перевели в режим онлайн) в отдельную базу для восстановления (Recovery mailbox database) восстановленную из бэкапа резервную копию почтовой базы Exchange 2013. Посмотреть список ящиков, которые содержатся в восстановленной почтовой базе можно с помощью командлета Powershell Get-MailboxStatistics:
Get-MailboxStatistics -Database RDB
Где RDB – имя recovery mailbox базы
Если вас интересует конкретный ящик, вывод предыдущей команды можно отфильтровать с помощью такой конструкции:
Get-MailboxStatistics -Database RDB | ?{$_.DisplayName -like 'Petrov*'}
Для восстановления ящиков в Exchange 2013 используется командлет New-MailboxRestoreRequest.
Чтобы восстановить содержимого отдельного ящика в исходный почтовый ящик воспользуемся такой командой:
New-MailboxRestoreRequest –SourceDatabase RDB –SourceStoreMailbox “Petrov Ivan” –TargetMailbox ipetrov –AllowLegacyDNMismatch
В этом примере из базы RDB восстанавливается почтовый ящик с DisplayName “Petrov Ivan” в почтовый ящик с псевдонимом «ipetrov» существующей базы. По умолчанию командлет New-MailboxRestoreRequest ищет в почтовой базе совпадающие LegacyExchangeDN либо проверяет совпадение адреса X500. Сделано это для того, чтобы администратор случайно не восстановил данные в неверное место. Если действительно нужно восстановить данные в другой ящик, нужно указывать ключ AllowLegacyDNMisMatch.
Get-MailboxRestoreRequestStatistics -Identity MailboxUser\RestoreRequestName
Данные из восстановленного ящика можно скопировать в отдельную папку в ящике пользователя. Допустим, если нужно восстановить содержимое почтового ящика в отдельную папку «Restored Items», команда будет выглядеть так:
New-MailboxRestoreRequest –SourceDatabase RDB –SourceStoreMailbox “Petrov Ivan” –TargetMailbox ipetrov –TargetRootFolder “Restored Items” –AllowLegacyDNMismatch
После окончания процесса восстановления в почтовом ящике пользователя появится новая папка, в которой и будет содержаться содержимое восстановленного ящика.
Возможно восстановить как содержимое ящика целиком, так и отдельные папки. Восстановить папку Inbox (Входящие) можно так:
New-MailboxRestoreRequest -SourceDatabase RDB -SourceStoreMailbox "Petrov Ivan" -TargetMailbox ipetrov -IncludeFolders "#Inbox#"
Ключ -IncludeFolders принимает список папок. Имена папок нужно обрамлять тегом # (хэш). Например, так #SentItems#, #Contacts#, #Tasks#.
Также возможно восстановить отдельное письмо или письма с определенными ключевыми словами, которые содержатся в теме (Subject) или теле (Body) письма. Например, нам нужно найти и восстановить письмо с ключевыми словами “windows server 2012” в теме и словом “MAK key” в тексте письма:
Restore-Mailbox -Identity IT-admin -RecoveryDatabase RDB -SubjectKeywords "windows server 2012" -ContentKeywords "MAK key"
Каждый запрос на восстановление данных из Exchange после успешного выполнения не удаляется их очереди. Чтобы удалить из системы все успешно выполненные запросы, выполните команду:
Get-MailboxRestoreRequest -Status Completed | Remove-MailboxRestoreRequest