Заметки · 07.03.2025

Послания с крайнего сервера

Сегодня расскажу очень душещипательную историю о том, как я искал письма от определенного отправителя на определённый почтовый ящик на почтовом сервере 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.