Exportación de mensajes de colas en Exchange Server
En los servidores de buzones de correo y en los servidores de transporte perimetral de Exchange Server, puede exportar los mensajes de una cola a archivos. Los mensajes exportados no se quitan de la cola. Las copias de los mensajes se realizan en la ubicación especificada como archivos de texto sin formato. Puede ver los archivos de mensajes en el Bloc de notas o Outlook, y puede volver a enviar los archivos de mensaje mediante el directorio Replay en cualquier otro servidor de buzón o servidor de transporte perimetral dentro o fuera de la organización de Exchange.
¿Qué necesita saber antes de empezar?
Tiempo estimado para completar cada procedimiento: 5 minutos
Deberá tener asignados permisos antes de poder llevar a cabo este procedimiento o procedimientos. Para ver qué permisos necesita, consulte el Entrada "Colas" en el tema Permisos de flujo del correo.
Para exportar mensajes de una cola de entrega, de la cola de envío o de la cola inalcanzable, los mensajes deben estar en estado Suspendido. En el caso de las colas activas y en buen estado, primero suspende la cola para que pueda suspender los mensajes. Los mensajes de la cola de mensajes dudosos ya se encuentran en estado suspendido. Para obtener más información, consulte Suspender colas y Suspender mensajes en colas.
No puede utilizar el Visor de cola en Exchange Toolbox para exportar mensajes. Sin embargo, puede usar el Visor de colas para buscar, identificar y suspender los mensajes antes de exportarlos mediante el Shell de administración de Exchange. Para obtener más información acerca del Visor de cola, consulte Visor de cola. Para obtener información sobre cómo abrir el Shell de administración de Exchange en su organización de Exchange local, consulte Open the Exchange Management Shell.
Cuando se exportan mensajes desde una cola, no se eliminan de ella. Si vuelve a enviar los mensajes exportados mediante el directorio Replay, debe quitar los mensajes de la cola para evitar la entrega de mensajes duplicada. Para obtener más información, consulte Eliminación de mensajes de colas.
Compruebe la siguiente información sobre la ubicación de destino de los archivos de mensaje exportados:
- La carpeta de destino debe existir antes de exportar los mensajes y no se creará automáticamente. Si no especifica la ruta de acceso completa, los archivos se escriben en el directorio de trabajo actual del Shell de administración de Exchange.
- La ruta de acceso puede ser local al servidor exchange o puede ser una ruta unc a un recurso compartido en un servidor remoto (\servidor\recurso compartido).
- La cuenta debe tener el permiso de escritura en la carpeta de destino.
Usamos el valor de la propiedad InternetMessageID del mensaje para los nombres de archivo de mensaje exportados para ayudar a garantizar la unicidad. Los procedimientos incluyen pasos para quitar corchetes angulares (> y <), porque no se permiten en los nombres de archivo. Además, usamos la extensión de nombre de archivo .eml para que pueda abrir fácilmente los archivos en Outlook o volver a enviar los archivos mediante el directorio Replay.
Para obtener más información sobre la identidad y los filtros para colas y mensajes en colas, consulte los temas siguientes:
Para obtener información acerca de los métodos abreviados de teclado aplicables a los procedimientos de este tema, consulte Métodos abreviados de teclado en el Centro de administración de Exchange.
Sugerencia
¿Problemas? Solicite ayuda en los foros de Exchange. Visite los foros en Exchange Server, Exchange Online, o Exchange Online Protection.
Uso del Shell de administración de Exchange para exportar un mensaje específico de una cola
Para exportar un mensaje específico de una cola, use la sintaxis siguiente:
Export-Message -Identity <MessageIdentity> | AssembleMessage -Path <FilePath>\<FileName>.eml
En este ejemplo se realizan las siguientes acciones en el servidor denominado Mailbox01:
Suspende la cola de entrega de contoso.com.
Suspende el mensaje de la cola que tiene el valor InternalMessageID 1234.
Exporta una copia del mensaje al archivo 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"
Uso del Shell de administración de Exchange para exportar todos los mensajes de una cola
Para exportar todos los mensajes de una cola y usar el valor InternetMessageID de cada mensaje como nombre de archivo, use la sintaxis siguiente:
Get-Message -Queue <QueueIdentity> -ResultSize Unlimited | ForEach-Object {$Temp=<Path>+$_.InternetMessageID+".eml"; $Temp=$Temp.Replace("<","_"); $Temp=$Temp.Replace(">","_"); Export-Message $_.Identity | AssembleMessage -Path $Temp}
En este ejemplo se realizan las siguientes acciones en el servidor denominado Mailbox01:
- Suspende la cola de entrega de contoso.com.
- Suspende todos los mensajes de la cola.
- Exporta copias de los mensajes a la carpeta local denominada 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}
Uso del Shell de administración de Exchange para exportar mensajes específicos de todas las colas de un servidor
Para exportar mensajes específicos de todas las colas de un servidor y usar el valor InternetMessageID de cada mensaje como nombre de archivo, use la sintaxis siguiente:
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}
En este ejemplo se realizan las siguientes acciones en el servidor denominado Mailbox01:
- Suspende todas las colas del servidor.
- Suspende todos los mensajes de todas las colas del servidor de los remitentes del dominio fabrikam.com.
- Exporta copias de los mensajes a la carpeta local denominada 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}
Uso del Shell de administración de Exchange para exportar todos los mensajes de todas las colas de un servidor
Para exportar todos los mensajes de todas las colas de un servidor y usar el valor InternetMessageID de cada mensaje como nombre de archivo, use la sintaxis siguiente:
Get-Message [-Server <ServerIdentity>] -ResultSize Unlimited | ForEach-Object {$Temp=<Path>+$_.InternetMessageID+".eml"; $Temp=$Temp.Replace("<","_"); $Temp=$Temp.Replace(">","_"); Export-Message $_.Identity | AssembleMessage -Path $Temp}
En este ejemplo se realizan las siguientes acciones en el servidor denominado Mailbox01:
- Suspende todas las colas del servidor.
- Suspende todos los mensajes de todas las colas del servidor.
- Exporta copias de los mensajes a la carpeta local denominada 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}