Exportieren von Nachrichten aus Warteschlangen in Exchange Server
Auf Postfachservern und Edge-Transport-Servern in Exchange Server können Sie die Nachrichten in einer Warteschlange in Dateien exportieren. Die exportierten Nachrichten werden nicht aus der Warteschlange entfernt. Kopien der Nachrichten werden am angegebenen Speicherort als Nur-Text-Dateien erstellt. Sie können die Nachrichtendateien in Editor oder Outlook anzeigen, und Sie können die Nachrichtendateien erneut übermitteln, indem Sie das Wiedergabeverzeichnis auf jedem anderen Postfachserver oder Edge-Transport-Server innerhalb oder außerhalb Ihrer Exchange-Organisation verwenden.
Was sollten Sie wissen, bevor Sie beginnen?
Geschätzte Zeit bis zum Abschließen der einzelnen Verfahren: 5 Minuten
Bevor Sie diese Verfahren ausführen können, müssen Ihnen die entsprechenden Berechtigungen zugewiesen werden. Informationen zu den von Ihnen benötigten Berechtigungen finden Sie unter "Warteschlangen" im Thema Berechtigungen für den Nachrichtenfluss.
Um Nachrichten aus einer Zustellungswarteschlange, der Übermittlungswarteschlange oder der Nicht erreichbaren Warteschlange zu exportieren, müssen die Nachrichten den Status Angehalten aufweisen. Bei aktiven, fehlerfreien Warteschlangen halten Sie die Warteschlange zunächst an, damit Sie die Nachrichten dann anhalten können. Nachrichten in der Warteschlange für nicht verarbeitete Nachrichten befinden sich bereits im Zustand "Angehalten". Weitere Informationen finden Sie unter Anhalten von Warteschlangen und Anhalten von Nachrichten in Warteschlangen.
Sie können nicht die Warteschlangenanzeige in der Exchange-Toolbox zum Exportieren von Nachrichten verwenden. Sie können die Warteschlangenanzeige jedoch verwenden, um die Nachrichten zu suchen, zu identifizieren und anzusetzen, bevor Sie sie mithilfe der Exchange-Verwaltungsshell exportieren. Weitere Informationen zur Warteschlangenanzeige finden Sie unter Warteschlangenanzeige. Informationen über das Öffnen der Exchange-Verwaltungsshell in Ihrer lokalen Exchange-Organisation finden Sie unter Open the Exchange Management Shell.
Wenn Sie Nachrichten aus einer Warteschlange exportieren, entfernen Sie die Nachrichten nicht aus der Warteschlange. Wenn Sie die exportierten Nachrichten mithilfe des Wiedergabeverzeichnisses erneut übermitteln, sollten Sie die Nachrichten aus der Warteschlange entfernen, um doppelte Nachrichtenübermittlungen zu vermeiden. Weitere Informationen finden Sie unter Nachrichten aus Warteschlangen entfernen.
Überprüfen Sie die folgenden Informationen zum Zielspeicherort für die exportierten Nachrichtendateien:
- Der Zielordner muss vor dem Exportieren von Nachrichten vorhanden sein und wird nicht für Sie erstellt. Wenn Sie nicht den vollständigen Pfad angeben, werden die Dateien in das aktuelle Arbeitsverzeichnis der Exchange-Verwaltungsshell geschrieben.
- Der Pfad kann lokal auf dem Exchange-Server oder ein UNC-Pfad zu einer Freigabe auf einem Remoteserver (\server\share) sein.
- Ihr Konto muss über die Schreibberechtigung im Zielordner verfügen.
Wir verwenden den InternetMessageID-Eigenschaftswert der Nachricht für die exportierten Nachrichtendateinamen, um die Eindeutigkeit sicherzustellen. Die Prozeduren umfassen Schritte zum Entfernen von spitzen Klammern (> und <), da sie in Dateinamen nicht zulässig sind. Außerdem verwenden wir die Dateinamenerweiterung .eml, damit Sie die Dateien in Outlook einfach öffnen oder die Dateien mithilfe des Replay-Verzeichnisses erneut übermitteln können.
Weitere Informationen zu Identitäten und Filtern für Warteschlangen und Nachrichten in Warteschlangen finden Sie in den folgenden Themen:
Informationen zu Tastenkombinationen für die Verfahren in diesem Thema finden Sie unter Tastenkombinationen in der Exchange-Verwaltungskonsole.
Tipp
Liegt ein Problem vor? Bitten Sie in den Exchange-Foren um Hilfe. Sie finden die Foren unter folgenden Links: Exchange Server, Exchange Online oder Exchange Online Protection.
Verwenden der Exchange-Verwaltungsshell zum Exportieren einer bestimmten Nachricht aus einer Warteschlange
Verwenden Sie die folgende Syntax, um eine bestimmte Nachricht aus einer Warteschlange zu exportieren:
Export-Message -Identity <MessageIdentity> | AssembleMessage -Path <FilePath>\<FileName>.eml
In diesem Beispiel werden die folgenden Aktionen auf dem Server mit dem Namen Mailbox01 ausgeführt:
Hält die contoso.com-Übermittlungswarteschlange an.
Hält die Nachricht in der Warteschlange an, die den InternalMessageID-Wert 1234 aufweist.
Exportiert eine Kopie der Nachricht in die Datei 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"
Verwenden der Exchange-Verwaltungsshell zum Exportieren aller Nachrichten aus einer Warteschlange
Verwenden Sie die folgende Syntax, um alle Nachrichten aus einer Warteschlange zu exportieren und den InternetMessageID-Wert jeder Nachricht als Dateinamen zu verwenden:
Get-Message -Queue <QueueIdentity> -ResultSize Unlimited | ForEach-Object {$Temp=<Path>+$_.InternetMessageID+".eml"; $Temp=$Temp.Replace("<","_"); $Temp=$Temp.Replace(">","_"); Export-Message $_.Identity | AssembleMessage -Path $Temp}
In diesem Beispiel werden die folgenden Aktionen auf dem Server mit dem Namen Mailbox01 ausgeführt:
- Hält die contoso.com-Übermittlungswarteschlange an.
- Hält alle Nachrichten in der Warteschlange an.
- Exportiert Kopien der Nachrichten in den lokalen Ordner 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}
Verwenden der Exchange-Verwaltungsshell zum Exportieren bestimmter Nachrichten aus allen Warteschlangen auf einem Server
Verwenden Sie die folgende Syntax, um bestimmte Nachrichten aus allen Warteschlangen auf einem Server zu exportieren und den InternetMessageID-Wert jeder Nachricht als Dateinamen zu verwenden:
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}
In diesem Beispiel werden die folgenden Aktionen auf dem Server mit dem Namen Mailbox01 ausgeführt:
- Hält alle Warteschlangen auf dem Server an.
- Hält alle Nachrichten in allen Warteschlangen auf dem Server von Absendern in der domäne fabrikam.com an.
- Exportiert Kopien der Nachrichten in den lokalen Ordner 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}
Verwenden der Exchange-Verwaltungsshell zum Exportieren aller Nachrichten aus allen Warteschlangen auf einem Server
Verwenden Sie die folgende Syntax, um alle Nachrichten aus allen Warteschlangen auf einem Server zu exportieren und den InternetMessageID-Wert jeder Nachricht als Dateinamen zu verwenden:
Get-Message [-Server <ServerIdentity>] -ResultSize Unlimited | ForEach-Object {$Temp=<Path>+$_.InternetMessageID+".eml"; $Temp=$Temp.Replace("<","_"); $Temp=$Temp.Replace(">","_"); Export-Message $_.Identity | AssembleMessage -Path $Temp}
In diesem Beispiel werden die folgenden Aktionen auf dem Server mit dem Namen Mailbox01 ausgeführt:
- Hält alle Warteschlangen auf dem Server an.
- Hält alle Nachrichten in allen Warteschlangen auf dem Server an.
- Exportiert Kopien der Nachrichten in den lokalen Ordner 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}