Сегодня расскажу очень душещипательную историю о том, как я искал письма от определенного отправителя на определённый почтовый ящик на почтовом сервере Exchange.
Все посты про почтовый сервер Exchange можно найти по этой ссылке.
Речь пойдёт о работе в Exchange Management Shell непосредственно на самом почтовом сервере и командлете New-MailboxExportRequest, с помощью которого можно утрамбовать почтовый ящик в архив формата pst. Командлет также позволяет выгружать и частичные данные из почтовых ящиков.
Из минусов — командлет умеет сохранять архивы только на сетевые диски, поэтому перед началом импорта убедитесь, что сервер сможет записать данные по указанному пути.
Ниже я привёл пример команды для выгрузки данных из почтового ящика user@domain.ru всех писем от отправителя admin@domain.ru.
New-MailboxExportRequest -Mailbox user@domain.ru -ContentFilter "Sender -eq 'admin@domain.ru'" -FilePath "\\192.168.1.100\share\export.pst"
Теперь попробуем выгрузить все письма с упоминанием admin@domain.ru из папки Входящие:
New-MailboxExportRequest -Mailbox user@domain.ru -ContentFilter "All -like '* admin@domain.ru *'" -IncludeFolders "#Inbox#" -FilePath "\\192.168.1.100\share\export.pst"
Или же оставим фильтр по отправителю, но добавим выборку полученных писем по датам не ранее 1 декабря 2023 года и не позднее 2 декабря 2024 года:
New-MailboxExportRequest -Mailbox user@domain.ru -ContentFilter {(Sender -eq 'admin@domain.ru') -and (Received -gt '12/01/2023') -and (Received -lt '12/02/2024')} -FilePath "\\192.168.1.100\share\export.pst"
Советую обратить внимание на региональные параметры отображения даты на Вашем почтовом сервере. В моём случае сработал формат даты — мм/дд/гггг.
Ну, и в завершении — пример выгрузки всего ящика user@domain.ru:
New-Mailboxexportrequest -Mailbox user@domain.ru -FilePath "\\192.168.1.100\share\export.pst"
Если ящик является архивным следует использовать ключ -IsArchive, если ящик не будет являться архивным в консоль вернётся ошибка.
По завершении операций рекомендуется очистить очередь запросов от выполненных заданий:
Get-MailboxImportRequest -Status Completed | Remove-MailboxImportRequest
Открыть архив pst можно с помощью утилиты PaSTa.