Exporter des messages à partir de files d’attente dans Exchange Server

S’APPLIQUE à :yes-img-162016 yes-img-192019 yes-img-seÉdition d’abonnement

Sur les serveurs de boîtes aux lettres et les serveurs de transport Edge d’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 en texte brut. Vous pouvez afficher les fichiers de messages dans le Bloc-notes ou Outlook, et les soumettre à nouveau à 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 soumission ou d’inaccessible, les messages doivent être à l’état Suspendu. Pour les files d’attente actives et saines, vous suspendez d’abord 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 les supprimez pas de la file d’attente. Si vous soumettez à nouveau les messages exportés à l’aide du répertoire Rejouer, vous devez supprimer les messages de la file d’attente pour éviter la remise de 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 messages exportés :

    • Le dossier cible doit exister avant d’exporter des messages et il 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 sur le 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 É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 comprennent des étapes pour supprimer les crochets en biais (> et <), car ils ne sont pas autorisés dans les noms de fichiers. En outre, nous utilisons l’extension de nom de fichier .eml pour vous permettre d’ouvrir facilement les fichiers dans Outlook ou de les soumettre à nouveau à l’aide du répertoire Rejouer.

  • 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 ? Demander de l’aide sur le forum Exchange Server sur Exchange | Exchange Server | Gestion.

Utiliser l’environnement de ligne de commande 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 :

  1. Suspend la file d’attente de remise contoso.com.

  2. Suspend le message dans la file d’attente dont la valeur est InternalMessageID 1234.

  3. 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 l’environnement de ligne de commande 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 :

  1. Suspend la file d’attente de remise contoso.com.
  2. Suspend tous les messages de la file d’attente.
  3. Exporte une copie 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 l’environnement de ligne de commande 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 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 :

  1. Suspend toutes les files d’attente sur le serveur.
  2. Suspend tous les messages de toutes les files d’attente sur le serveur à partir des expéditeurs du domaine fabrikam.com.
  3. 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 l’environnement de ligne de commande 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 :

  1. Suspend toutes les files d’attente sur le serveur.
  2. Suspend tous les messages dans toutes les files d’attente sur le serveur.
  3. Exporte des copies des messages vers le dossier local nommé 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}