Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
ПРИМЕНЯЕТСЯ К:
2016
2019
по подписке
На серверах почтовых ящиков и пограничных транспортных серверах в Exchange Server можно экспортировать сообщения из очереди в файлы. Экспортированные сообщения не удаляются из очереди. Копии сообщений создаются в указанном месте в виде файлов с обычным текстом. Файлы сообщений можно просматривать в "Блокноте" или Outlook, а также повторно отправлять их с помощью каталога воспроизведения на любом другом сервере почтовых ящиков или пограничном транспортном сервере внутри или за пределами организации Exchange.
Что нужно знать перед началом работы
Предполагаемое время для завершения каждой процедуры: 5 минут
Для выполнения этой процедуры (процедур) необходимы соответствующие разрешения. Чтобы узнать, какие разрешения вам необходимы, см. запись "Очереди" в статье "Разрешения потока обработки почты".
Чтобы экспортировать сообщения из очереди доставки, очереди отправки или очереди недоступности, сообщения должны находиться в состоянии "Приостановлено". Для активных, работоспособных очередей сначала приостанавливается очередь, чтобы затем можно было приостановить обработку сообщений. Сообщения в очереди сообщений о сбое уже находятся в состоянии приостановки. Дополнительные сведения см. в разделах Приостановка очередей и Приостановка сообщений в очередях.
Экспортировать сообщения с помощью средства просмотра очередей на панели инструментов Exchange невозможно. Однако вы можете использовать просмотр очередей, чтобы найти, идентифицировать и приостановить сообщения, прежде чем экспортировать их с помощью командной консоли Exchange. Дополнительные сведения о средстве просмотра очереди см. в статье Queue Viewer. Сведения о том, как открыть командную консоль Exchange в локальной организации Exchange, см. в статье Open the Exchange Management Shell.
При экспорте сообщений из очереди сами сообщения из нее не удаляются. Если вы повторно отправляете экспортированные сообщения с помощью каталога Replay, их следует удалить из очереди, чтобы избежать повторной доставки сообщений. Дополнительные сведения см. в разделе Удаление сообщений из очередей.
Проверьте следующие сведения о целевом расположении для экспортированных файлов сообщений:
- Целевая папка должна существовать перед экспортом сообщений, она не будет создана автоматически. Если вы не укажете полный путь, файлы записываются в текущий рабочий каталог командной консоли Exchange.
- Путь может быть локальным к серверу Exchange или UNC-путем к общей папке на удаленном сервере (\server\share).
- Учетная запись должна иметь разрешение на запись в папке назначения.
Для имен файлов экспортируемых сообщений мы используем значение свойства InternetMessageID сообщения, чтобы обеспечить уникальность. Процедура включает действия по удалению угловых скобок (> и <), так как они не допускаются в именах файлов. Кроме того, используется расширение имени файла .eml, чтобы вы могли легко открывать файлы в Outlook или повторно отправлять их с помощью каталога воспроизведения.
Дополнительные сведения об удостоверениях и фильтрах для очередей и сообщений в очередях см. в следующих разделах:
Сочетания клавиш для процедур, описанных в этой статье, приведены в статье Сочетания клавиш в Центре администрирования Exchange.
Совет
Возникли проблемы? Обратитесь за помощью на форум Exchange Server на сайте Exchange | Exchange Server | Управление.
Экспорт определенного сообщения из очереди с помощью командной консоли Exchange
Чтобы экспортировать определенное сообщение из очереди, используйте следующий синтаксис:
Export-Message -Identity <MessageIdentity> | AssembleMessage -Path <FilePath>\<FileName>.eml
В этом примере выполняются следующие действия на сервере с именем Mailbox01:
Приостанавливает очередь доставки contoso.com.
Приостанавливает работу сообщения в очереди со значением InternalMessageID 1234.
Экспорт копии сообщения в файл D:\contoso Export\export.eml.
Suspend-Queue Mailbox01\contoso.com
Suspend-Message -Identity Mailbox01\contoso.com\1234
Export-Message -Identity Mailbox01\contoso.com\1234 | AssembleMessage -Path "D:\Contoso Export\export.eml"
Экспорт всех сообщений из очереди с помощью командной консоли Exchange
Чтобы экспортировать все сообщения из очереди и использовать значение InternetMessageID каждого сообщения в качестве имени файла, используйте следующий синтаксис:
Get-Message -Queue <QueueIdentity> -ResultSize Unlimited | ForEach-Object {$Temp=<Path>+$_.InternetMessageID+".eml"; $Temp=$Temp.Replace("<","_"); $Temp=$Temp.Replace(">","_"); Export-Message $_.Identity | AssembleMessage -Path $Temp}
В этом примере выполняются следующие действия на сервере с именем Mailbox01:
- Приостанавливает очередь доставки contoso.com.
- Приостанавливает действие всех сообщений в очереди.
- Экспортирует копии сообщений в локальную папку D:\Contoso Export.
Suspend-Queue Mailbox01\contoso.com
Get-Queue Mailbox01\contoso.com | Get-Message -ResultSize Unlimited | Suspend-Message
Get-Message -Queue Mailbox01\Contoso.com -ResultSize Unlimited | ForEach-Object {$Temp="D:\Contoso Export\"+$_.InternetMessageID+".eml"; $Temp=$Temp.Replace("<","_"); $Temp=$Temp.Replace(">","_"); Export-Message $_.Identity | AssembleMessage -Path $Temp}
Экспорт определенных сообщений из всех очередей на сервере с помощью командной консоли Exchange
Чтобы экспортировать определенные сообщения из всех очередей на сервере и использовать значение InternetMessageID каждого сообщения в качестве имени файла, используйте следующий синтаксис:
Get-Message -Filter "<MessageFilter>" [-Server <ServerIdentity>] -ResultSize Unlimited | ForEach-Object {$Temp=<Path>+$_.InternetMessageID+".eml"; $Temp=$Temp.Replace("<","_"); $Temp=$Temp.Replace(">","_"); Export-Message $_.Identity | AssembleMessage -Path $Temp}
В этом примере выполняются следующие действия на сервере с именем Mailbox01:
- Приостанавливает работу всех очередей на сервере.
- Приостанавливает получение всех сообщений во всех очередях на сервере от отправителей из домена fabrikam.com.
- Экспортирует копии сообщений в локальную папку D:\Fabrikam Export.
Suspend-Queue -Server Mailbox01
Suspend-Message -Filter "FromAddress -like '*@fabrikam.com'" -Server Mailbox01
Get-Message -Filter "FromAddress -like '*@fabrikam.com'" -Server Mailbox01 -ResultSize Unlimited | ForEach-Object {$Temp="D:\Fabrikam Export\"+$_.InternetMessageID+".eml"; $Temp=$Temp.Replace("<","_"); $Temp=$Temp.Replace(">","_"); Export-Message $_.Identity | AssembleMessage -Path $Temp}
Экспорт всех сообщений из очередей на сервере с помощью командной консоли Exchange
Чтобы экспортировать все сообщения из всех очередей на сервере и использовать значение InternetMessageID каждого сообщения в качестве имени файла, используйте следующий синтаксис:
Get-Message [-Server <ServerIdentity>] -ResultSize Unlimited | ForEach-Object {$Temp=<Path>+$_.InternetMessageID+".eml"; $Temp=$Temp.Replace("<","_"); $Temp=$Temp.Replace(">","_"); Export-Message $_.Identity | AssembleMessage -Path $Temp}
В этом примере выполняются следующие действия на сервере с именем Mailbox01:
- Приостанавливает работу всех очередей на сервере.
- Приостанавливает работу всех сообщений во всех очередях на сервере.
- Экспортирует копии сообщений в локальную папку D:\Mailbox01 Export.
Suspend-Queue -Server Mailbox01
Get-Queue -Server Mailbox01 | Get-Message -ResultSize Unlimited | Suspend-Message
Get-Message -Server Mailbox01 -ResultSize Unlimited | ForEach-Object {$Temp="D:\Mailbox01 Export\"+$_.InternetMessageID+".eml"; $Temp=$Temp.Replace("<","_"); $Temp=$Temp.Replace(">","_"); Export-Message $_.Identity | AssembleMessage -Path $Temp}