Экспорт сообщений из очередей
Область применения: Exchange Server 2013 г.
При экспорте сообщений из очереди в файл сообщение не удаляется из очереди. Копия сообщения создается в заданном местоположении в виде открытого текстового файла. Итоговый файл можно просмотреть в приложении, например в текстовом редакторе или клиентском почтовом приложении, либо файл сообщения можно повторно передать с помощью каталога преобразования на любом другом сервере почтовых ящиков или пограничном транспортном сервере в пределах или за пределами организации Exchange.
Что нужно знать перед началом работы
Предполагаемое время для завершения каждой процедуры: 15 минут
Для выполнения этой процедуры (процедур) необходимы соответствующие разрешения. Сведения о необходимых разрешениях см. в разделе "Очереди" в разделе Разрешения потока обработки почты .
Чтобы успешно экспортировать сообщения, необходимо привести их в состояние приостановки. Вы можете экспортировать сообщения из очередей доставки, очереди недоставленных сообщений или очереди сообщений о сбое. Сообщения в очереди сообщений о сбое уже находятся в состоянии приостановки. Сообщения из очереди отправки приостанавливать или экспортировать невозможно.
Экспортировать сообщения с помощью средства просмотра очередей на панели инструментов Exchange невозможно. Однако средство просмотра очереди можно использовать для обнаружения, идентификации и приостановки сообщений до выполнения их экспорта с помощью командной консоли.
Проверьте следующие сведения о местоположении целевого каталога для файлов сообщений:
Для экспорта сообщений каталог назначения должен существовать. Каталог не будет создан. Если не указан абсолютный путь, используется текущая рабочая папка командной консоли Exchange.
Можно указать локальный путь к серверу Exchange Server или UNC-путь к общему ресурсу на удаленном сервере.
Учетная запись пользователя должна иметь разрешение Запись в целевом каталоге.
При указании имени файла для экспортированных сообщений добавьте к нему расширение EML, чтобы легко открывать файл с помощью клиентских почтовых приложений и правильно обрабатывать его каталогом преобразования.
Сочетания клавиш для процедур, описанных в этой статье, приведены в статье Сочетания клавиш в Центре администрирования Exchange.
Совет
Возникли проблемы? Обратитесь за помощью к участникам форумов Exchange. Посетите форумы по адресу Exchange Server.
Использование командной консоли для экспорта определенного сообщения из определенной очереди
Чтобы экспортировать определенное сообщение из очереди, выполните следующую команду:
Export-Message -Identity <MessageIdentity> | AssembleMessage -Path <FilePath>\<FileName>.eml
В этом примере описана процедура экспорта копии сообщения со значением 1234 для параметра InternalMessageID, расположенного в очереди доставки contoso.com на сервере Mailbox01 для файла с именем export.eml, который находится в каталоге D:\Contoso Export.
Export-Message -Identity Exchange01\Contoso.com\1234 | AssembleMessage -Path "D:\Contoso Export\export.eml"
Использование командной консоли для экспорта всех сообщений из определенной очереди
Чтобы экспортировать все сообщения из определенной очереди и использовать значение параметра InternetMessageID для каждого сообщения в качестве имени файла, введите команду в следующем формате:
Get-Message -Queue <QueueIdentity> | ForEach-Object {$Temp=<Path>+$_.InternetMessageID+".eml";$Temp=$Temp.Replace("<","_");$Temp=$Temp.Replace(">","_");Export-Message $_.Identity | AssembleMessage -Path $Temp}
Обратите внимание, что значение InternetMessageID содержит угловые скобки (> и <), которые необходимо удалить, т. к. они не разрешены в названиях файлов.
В этом примере описана процедура экспорта копии всех сообщений из очереди доставки contoso.com на сервере Mailbox01 в локальный каталог с именем D:\Contoso Export.
Get-Message -Queue Mailbox01\Contoso.com | ForEach-Object {$Temp="D:\Contoso Export\"+$_.InternetMessageID+".eml";$Temp=$Temp.Replace("<","_");$Temp=$Temp.Replace(">","_");Export-Message $_.Identity | AssembleMessage -Path $Temp}
Использование командной консоли для экспорта определенных сообщений из всех очередей на сервере
Чтобы экспортировать определенные сообщения из всех очередей на сервере и использовать значение InternetMessageID каждого сообщения в качестве имени файла, введите команду в следующем формате:
Get-Message -Filter "<MessageFilter>" [-Server <ServerIdentity>] | ForEach-Object {$Temp=<Path>+$_.InternetMessageID+".eml";$Temp=$Temp.Replace("<","_");$Temp=$Temp.Replace(">","_");Export-Message $_.Identity | AssembleMessage -Path $Temp}
Обратите внимание, что значение InternetMessageID содержит угловые скобки (> и <), которые необходимо удалить, т. к. они не разрешены в названиях файлов.
В этом примере описана процедура экспорта копии всех сообщений от отправителей в домене contoso.com со всех очередей на сервере Mailbox01 в локальный каталог с именем D:\Contoso Export.
Get-Message -Filter "FromAddress -like '*@contoso.com'" -Server Mailbox01 | ForEach-Object {$Temp="D:\Contoso Export\"+$_.InternetMessageID+".eml";$Temp=$Temp.Replace("<","_");$Temp=$Temp.Replace(">","_");Export-Message $_.Identity | AssembleMessage -Path $Temp}
Примечание.
Если параметр Server не указан, команда будет работать на локальном сервере.