Содержание
Удобство серверного приложения Exchange сделало его фаворитом для компаний, внедряющих корпоративную почтовую систему. Это гибкий и мощный бизнес-инструмент, превосходящий другие сервисы за счет множества функций и простой интеграции с системами Windows.
Как и в любой системе, в Microsoft Exchange Server могут случаться сбои. Специалисты ГК «Интегрус» предлагают услуги по настройке, удалению, созданию резервных копий и восстановлению почтовых ящиков, писем и баз данных для Exchange.
К корпоративной почте имеет доступ множество пользователей. Наступает момент, когда из нее случайно удаляется информация. Например, в мусор улетают входящие сообщения, а затем папка «Удаленных сообщений» очищается.
В Exchange разница в восстановлении писем зависит от того, насколько быстро удалось понять, что информация утрачена, и не важно, выполнялось удаление мягко или жестко.
Начиная с Exchange 2007 все удаленное хранится в корзине почтового ящика две недели. По истечении срока оно попадает в папку для восстановления, где существует еще месяц. Предполагается, что этого времени достаточно, чтобы пользователь сориентировался и вернул нужную информацию.
Самый простой вариант, как избежать утраты писем и ящиков – скорректировать политику хранения. В этом случае администратор, создающий почтовый ящик, устанавливает оптимальный временной диапазон, в течение которого информация может быть восстановлена (максимально 24855 дней).
В Exchange различают учетную запись с данными о конфигурации и ящик. Удаленный ящик остается в базе, но у него отсутствуют связи с учетками.
Тип удаления Disabled означает, что почта:
- отключена от учетки с помощью командлеты Desible-Mainbox;
- отключена, а учетка удалена в Aсtive Directore командлетой Desible-Mainbox.
Тип Soft Deleted означает копию ящика, который сохраняется в базе после его перемещения.
Чтобы в Exchange восстановить удаленные письма или почтовый ящик после завершения срока хранения, требуется установить дополнительное программное обеспечение. Восстановленные почтовые ящики экспортируются в различные форматы для удобства использования и хранения.
Безвозвратно утраченные письма восстанавливаются программным способом, но процесс иногда длительный и не самый простой.
Восстановление удаленных писем и ящиков Exchange 2016
Вариант 1. На сервере удаленные письма сохраняются в течение 14 дней, ящики – 30 дней. Их восстановить несложно, если использовать PowerShell.
Для этого запускается команда:
Get-MailboxDatabase | Get-MailboxStatistics | Where { $_.DisconnectReason -eq "Disabled" } | ft
DisplayName,Database,DisconnectDate
В полученном перечне указаны все отключенные ящики (Mailbox Disabled).
Восстановить удаленный ящик Exchange 2016 можно с помощью команды:
Connect-Mailbox -Identity "имя удаленного ящика" -Database "mskDB1"
либо через командлет Restore-Mailbox (восстанавливает ящик для учетки).
Вариант 2. Восстановление удаленных элементов на Exchange Server требует знания имен исходного и целевого ящиков (не должны совпадать!), а также поисковых критериев. Целевой ящик создается по умолчанию и используется для фиксации найденных сообщений.
Все данные, которые удалены, но еще доступны для восстановления с заданными параметрами даты и времени ищутся через консоль Exchange:
Get-RecoverableItems -Identity имя удаленного ящика -SubjectContains "FY17 Accounting" -FilterItemType IPM.Note -FilterStartTime "1/1/2023 10:10:10 AM" -FilterEndTime "1/2/2023 10:10:10 PM"
После обнаружения сообщения в целевом ящике вводятся командлеты, различающиеся способом восстановления:
- Search-Mailbox – в ящик пользователя;
- New-MailboxExportRequest – в PST-файл;
- New-MailboxImportRequest – из PST-файла.
Для восстановления сообщения нужно указать:
$mailboxes = Import-CSV "C:\My Documents\RestoreMessage.csv"; $mailboxes | foreach {Restore-RecoverableItems -Identity $_.SMTPAddress -SubjectContains XXX" -SourceFolder DeletedItems -FilterItemType IPM.Note}
где ХХХ – это название восстанавливаемого сообщения из CVS-файла. Команда информацию из файла переводит в переменную, восстанавливая удаленное сообщение в ящиках.
Восстановление писем и почтовых ящиков Exchange 2013
Вариант 1. Для восстановления почтовых ящиков выполняется одно из двух действий:
- создается новая учетка в Active Directory для подключения удаленного почтового ящика;
- запускается Get-User, если известно, что учетная запись существует.
После этого база почтовых ящиков проверяется на наличие удаленного ящика, выясняется, нет ли у него возможности восстановления:
Get-MailboxDatabase | Get-MailboxStatistics | Where { $_.DisplayName -eq "<display name>" } | fl DisplayName,Database,DisconnectReason
Для удаленного из базы ящика команда не выполняется.
Чтобы подключить удаленную почту к учетке пользователя в меню нужно выбрать «Подключить почтовый ящик». При этом в перечне будут видны все отключенные ящики, хранящиеся на сервере.
Щелкнув на ящик, который нужно восстановить, выбрать «Подключить», указав нужного пользователя.
Вариант 2. Командлет New-MailboxRestoreRequest используется, когда нужно восстановить удаленный почтовый ящик с копированием его содержимого в целевой. Он будет лежать в почтовой базе данных до тех пор, пока его вручную не удалит админ или не истечет указанный период хранения.
Для запроса указываются свойства ящика, применяемые ко всем отключенным или удаленным корпоративным ящикам:
Get-MailboxDatabase | Get-MailboxStatistics | Where {$_.DisconnectReason -eq "Disabled"} | fl DisplayName,MailboxGuid,LegacyDN,Database
Указание на конкретный параметр (AllowLegacyDNMismatch) нужно, чтобы исходник восстанавливался в другом ящике и имел устаревшее (различающееся) наименование.
Вариант 3. Восстановление необратимо удаленного ящика общей папки с достаточным сроком хранения в папке хранения удаленных документов.
Если нужно выяснить идентификаторы GIID, выполняется командлет
Get-OrganizationConfig | fl OriginatingServer
Также допускается поиск через пользовательский скрипт или служебную программу Ldp в PowerSell. Далее создается объект Active Directory с выбранными параметрами.
New-MailUser <mailUserName> -ExternalEmailAddress <emailAddress>
Get-MailUser <mailUserName> | Disable-MailUser
Отсутствующий ящик подключается через команду:
Connect-Mailbox -Identity <public folder mailbox GUID> -Database <database name or GUID> -User <mailUserName>
Где Identity – это объект почты в БД Exchange.
Командой Update-StoreMailboxState присваивается значение GUID для Identity.
Вариант 4. Восстановить удаленные письма можно, используя Outlook Web Access (OWA).
Нужно войти в Outlook и открыть в нем учетную запись, в которой можно работать в Exchange Server. В корзине выбрать удаленные элементы и перенести их в исходную папку. Таким образом почтовый ящик восстановится.
Восстановление писем Exchange из бекапа
Если есть бекап, то это упрощает задачу восстановления как удаленного ящика целиком, так и отдельных файлов, папок.
Посмотреть список ящиков, содержащихся в базе для восстановления, можно через командлет PowerShell:
Get-MailboxStatistics -Database ХХХ
где ХХХ – название базы. При необходимости можно отфильтровать конкретные ящики.
Восстановить ящик в Exchange 2013 можно, введя команду:
New-MailboxRestoreRequest –SourceDatabase RDB –SourceStoreMailbox “название почтового ящика” –TargetMailbox псеводним ящика –AllowLegacyDNMismatch
Нужно указывать псевдоним ящика (например, владелец Sofia Petrova, а псевдоним – s.petrova), т.к. командлет ищет все совпадения в почтовой базе и проверяет адреса Х500 на предмет совпадений. Это необходимо, чтоб данные были восстановление в верное место.
Восстановление позволяет все содержимое ящика перенести в определенную папку:
New-MailboxRestoreRequest –SourceDatabase RDB –SourceStoreMailbox “название почтового ящика” –TargetMailbox псеводним ящика –TargetRootFolder “название определенной папки для восстановления” –AllowLegacyDNMismatch
Когда процесс завершен, на почте пользователя появляется новая папка с содержимым удаленного ящика.
Восстановить можно как отдельные папки, так и отдельные письма, в том числе содержащие конкретные ключи в теме или теле сообщения. Например, для восстановления письма с ключевыми словами «exchange 2016» и словом «key» нужно ввести команду:
Restore-Mailbox -Identity IT-admin -RecoveryDatabase RDB -SubjectKeywords " exchange 2016" -ContentKeywords "key"
Каждый запрос восстановления информации из Exchange 2013 имеет свое место в очереди, откуда удаляется по мере выполнения.