Поделиться через


Экспорт сообщений из очередей

Область применения: 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 не указан, команда будет работать на локальном сервере.