Exporter des messages à partir de files d’attente dans Exchange Server
Sur les serveurs de boîtes aux lettres et les serveurs de transport Edge dans Exchange Server, vous pouvez exporter les messages d’une file d’attente vers des fichiers. Les messages exportés ne sont pas supprimés de la file d’attente. Les copies des messages sont effectuées à l’emplacement spécifié sous forme de fichiers texte brut. Vous pouvez afficher les fichiers de message dans le Bloc-notes ou Outlook, et soumettre à nouveau les fichiers de message à l’aide du répertoire Replay sur n’importe quel autre serveur de boîtes aux lettres ou serveur de transport Edge à l’intérieur ou à l’extérieur de votre organisation Exchange.
Ce qu'il faut savoir avant de commencer
Durée d'exécution estimée de chaque procédure : 5 minutes
Des autorisations doivent vous être attribuées avant de pouvoir exécuter cette procédure. Pour voir les autorisations qui vous sont nécessaires, consultez l'entrée « Files d'attente » dans la rubrique Autorisations de flux de messagerie.
Pour exporter des messages à partir d’une file d’attente de remise, de la file d’attente de soumission ou de la file d’attente inaccessible, les messages doivent être à l’état Suspendu. Pour les files d’attente actives et saines, vous devez d’abord suspendre la file d’attente afin de pouvoir ensuite suspendre les messages. Les messages se trouvant dans la file d'attente de messages incohérents sont déjà suspendus. Pour plus d’informations, consultez Suspendre les files d’attente et Suspendre les messages dans les files d’attente.
Vous ne pouvez pas utiliser l'Afficheur des files d'attente de la boîte à outils Exchange pour exporter des messages. Toutefois, vous pouvez utiliser la Visionneuse de files d’attente pour localiser, identifier et suspendre les messages avant de les exporter à l’aide d’Exchange Management Shell. Pour plus d'informations sur l'Afficheur des files d'attente, consultez la rubrique Afficheur des files d'attente. Pour en savoir plus sur l'ouverture de l'environnement de ligne de commande Exchange Management Shell dans votre organisation Exchange locale, consultez la rubrique Open the Exchange Management Shell.
Lorsque vous exportez des messages à partir d’une file d’attente, vous ne supprimez pas les messages de la file d’attente. Si vous renvoyez les messages exportés à l’aide du répertoire Replay, vous devez supprimer les messages de la file d’attente pour éviter la remise des messages en double. Pour plus d'informations, consultez la rubrique Supprimer des messages dans les files d'attente.
Vérifiez les informations suivantes sur l’emplacement cible des fichiers de message exportés :
- Le dossier cible doit exister avant d’exporter des messages et ne sera pas créé pour vous. Si vous ne spécifiez pas le chemin d’accès complet, les fichiers sont écrits dans le répertoire de travail Exchange Management Shell actuel.
- Le chemin d’accès peut être local au serveur Exchange, ou il peut s’agir d’un chemin UNC vers un partage sur un serveur distant (\server\share).
- Votre compte doit disposer de l’autorisation d’écriture dans le dossier cible.
Nous utilisons la valeur de la propriété InternetMessageID du message pour les noms de fichiers de messages exportés afin de garantir l’unicité. Les procédures incluent des étapes pour supprimer les crochets inclinés (> et <), car ils ne sont pas autorisés dans les noms de fichiers. En outre, nous utilisons l’extension de nom de fichier .eml afin que vous puissiez facilement ouvrir les fichiers dans Outlook ou soumettre à nouveau les fichiers à l’aide du répertoire Replay.
Pour plus d’informations sur l’identité et les filtres pour les files d’attente et les messages dans les files d’attente, consultez les rubriques suivantes :
Pour des informations sur les raccourcis clavier applicables aux procédures de cette rubrique, voir Raccourcis clavier dans Exchange 2013Raccourcis clavier dans le Centre d'administration Exchange.
Conseil
Vous rencontrez des difficultés ? Demandez de l'aide en participant aux forums Exchange. Visitez le forum à l'adresse : Exchange Server, Exchange Online ou Exchange Online Protection.
Utiliser Exchange Management Shell pour exporter un message spécifique à partir d’une file d’attente
Pour exporter un message spécifique à partir d’une file d’attente, utilisez la syntaxe suivante :
Export-Message -Identity <MessageIdentity> | AssembleMessage -Path <FilePath>\<FileName>.eml
Cet exemple effectue les actions suivantes sur le serveur nommé Mailbox01 :
Suspend la file d’attente de remise contoso.com.
Suspend le message dans la file d’attente qui a la valeur InternalMessageID 1234.
Exporte une copie du message dans le fichier 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"
Utiliser Exchange Management Shell pour exporter tous les messages d’une file d’attente
Pour exporter tous les messages d’une file d’attente et utiliser la valeur InternetMessageID de chaque message comme nom de fichier, utilisez la syntaxe suivante :
Get-Message -Queue <QueueIdentity> -ResultSize Unlimited | ForEach-Object {$Temp=<Path>+$_.InternetMessageID+".eml"; $Temp=$Temp.Replace("<","_"); $Temp=$Temp.Replace(">","_"); Export-Message $_.Identity | AssembleMessage -Path $Temp}
Cet exemple effectue les actions suivantes sur le serveur nommé Mailbox01 :
- Suspend la file d’attente de remise contoso.com.
- Suspend tous les messages de la file d’attente.
- Exporte des copies des messages vers le dossier local nommé 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}
Utiliser Exchange Management Shell pour exporter des messages spécifiques à partir de toutes les files d’attente sur un serveur
Pour exporter des messages spécifiques à partir de toutes les files d’attente sur un serveur et utiliser la valeur InternetMessageID de chaque message comme nom de fichier, utilisez la syntaxe suivante :
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}
Cet exemple effectue les actions suivantes sur le serveur nommé Mailbox01 :
- Suspend toutes les files d’attente sur le serveur.
- Suspend tous les messages de toutes les files d’attente sur le serveur aux expéditeurs du domaine fabrikam.com.
- Exporte des copies des messages vers le dossier local nommé 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}
Utiliser Exchange Management Shell pour exporter tous les messages de toutes les files d’attente sur un serveur
Pour exporter tous les messages de toutes les files d’attente sur un serveur et utiliser la valeur InternetMessageID de chaque message comme nom de fichier, utilisez la syntaxe suivante :
Get-Message [-Server <ServerIdentity>] -ResultSize Unlimited | ForEach-Object {$Temp=<Path>+$_.InternetMessageID+".eml"; $Temp=$Temp.Replace("<","_"); $Temp=$Temp.Replace(">","_"); Export-Message $_.Identity | AssembleMessage -Path $Temp}
Cet exemple effectue les actions suivantes sur le serveur nommé Mailbox01 :
- Suspend toutes les files d’attente sur le serveur.
- Suspend tous les messages dans toutes les files d’attente sur le serveur.
- Exporte des copies des messages vers le dossier local nommé D:\Mailbox01 Exporter.
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}