Exchange 2016: Postfächer exportieren

Mittels Exchange Management Shell lassen sich auf einfachem Weg Postfächer in eine PST-Datei exportieren. Dieser kleine Artikel zeigt wie es funktioniert.

Damit Postfächer exportiert (und auch importiert) werden können, muss dem Benutzer der den Export durchführt, zunächst eine RBAC Rolle zugewiesen werden, für den Benutzer Administrator geschieht dies mit folgendem Befehl:

New-ManagementRoleAssignment –Role "Mailbox Import Export" –User "Administrator"

Postfächer exportieren

Nach dem Zuweisen der Rolle muss die Exchange Management Shell geschlossen und wieder geöffnet werden. Jetzt stehen die CMDLets für Export und Import zur Verfügung.

Export eines einzelnes Postfachs

Um ein einzelnes Postfach zu exportieren kann der folgenden Befehl verwendet werden:

get-mailbox frank | New-MailboxExportRequest -FilePath "\\fwcomex1\d$\Export\frank.pst"

Postfächer exportieren

In diesem Beispiel wird das Postfach mit dem Alias Frank nach \\fwcomex1\d$\Export exportiert. Der Export erfolgt immer auf eine Freigabe, ein Pfad wie zum Beispiel D:\Export funktioniert nicht. Als Format lässt sich nur PST verwenden. PST-Dateien lassen sich aber auf einfachem Weg mit Outlook öffnen.

Der Status des Exports lässt sich mit folgendem Befehl anzeigen:

Get-MailboxExportRequest

Postfächer exportieren

Mehr Details erhält man, wenn noch ein “| fl” angehangen wird. Die meisten Infos, die auch für die Fehlersuche interessant sind, liefert der folgende Befehl:

Get-MailboxExportRequest | Get-MailboxExportRequestStatistics | fl

Postfächer exportieren

Insbesondere das BadItemLimit ist interessant. In der Standardeinstellung bricht Exchange den Export ab, sobald ein defektes Element im Postfach gefunden wurde. Das Limit für defekte Elemente lässt sich aber anpassen:

get-mailbox frank | New-MailboxExportRequest -FilePath "\\fwcomex1\d$\Export\frank.pst" -BadItemLimit 50

Postfächer exportieren

Export aller Postfächer einer Datenbank

Mit einer leichten Abwandlung des Befehls lassen sich zum Beispiel auch alle Postfächer einer Datenbank exportieren:

get-mailbox -Database FWDB1 | foreach {New-MailboxExportRequest -Mailbox $_.Alias -FilePath "\\fwcomex1\d$\Export\$_.pst"}

Postfächer exportieren

In der Freigabe landet dann je Postfach eine PST-Datei:

image

Export von Archiv Postfächern

Auch Archiv Postfächer lassen sich exportieren. Der Befehl für ein Archiv eines einzelnen Benutzers lautet wie folgt:

get-mailbox frank -Archive | New-MailboxExportRequest -FilePath "\\fwcomex1\d$\Export\frank_archiv.pst"

Postfächer exportieren

Alle Archivpostfächer in einer Datenbank lassen sich mit dem folgenden Befehl verschieben:

get-mailbox -Database FWDB1 -Archive | foreach {New-MailboxExportRequest -Mailbox $_.Alias -FilePath "\\fwcomex1\d$\Export\$_.pst"}

Postfächer exportieren

Freigegebene Postfächer exportieren

Auch freigegebene Postfächer (Shared Mailbox) lassen sich exportieren, im Prinzip werden diese genauso behandelt wie normale Benutzerpostfächer. Somit lässt sich ein freigegebenes Postfach auch mittels des folgenden Befehl exportieren:

get-mailbox info | New-MailboxExportRequest -FilePath "\\fwcomex1\d$\Export\info_shared.pst"

Postfächer exportieren

Alle freigegebenen Postfächer einer Datenbank lassen sich mit dem folgenden Befehl exportieren:

get-mailbox -database FWDB1 | where {$_.RecipientTypeDetails -match "SharedMailbox"} | foreach {New-MailboxExportRequest -Mailbox $_.Alias -FilePath "\\fwcomex1\d$\Export\$_.pst"}

Postfächer exportieren

Nur bestimmte Daten aus einem Postfach exportieren

In manchen Fällen ist es erforderlich nur bestimmte Daten aus einem Postfach zu exportieren. Etwa nur die Kontakte oder nur den Kalender.

Alle Kontakte eines Postfachs lassen sich mit dem folgenden Befehl exportieren:

get-mailbox frank | New-MailboxExportRequest -FilePath "\\fwcomex1\d$\Export\frank_kontakte.pst" -IncludeFolders Kontakte

Postfächer exportieren

Der Kalender lässt sich dann wie folgt exportieren:

get-mailbox frank | New-MailboxExportRequest -FilePath "\\fwcomex1\d$\Export\frank_kalender.pst" -IncludeFolders Kalender

Postfächer exportieren

ExportRequest entfernen

Nachdem die Daten exportiert wurden, können auch die Export Request wieder gelöscht werden. Alle Export Request können mit dem folgenden Befehl entfernt werden:

Get-MailboxExportRequest | Remove-MailboxExportRequest

image

Der Befehl entfernt nur den Export Request, die PST-Dateien bleiben unberührt.

20 Gedanken zu „Exchange 2016: Postfächer exportieren“

  1. Hallo,

    zur Info: Ab Exchange 2013 lassen sich die Postfächer auch per GUI (ECP) exportieren.
    Zuerst benötigt der Administrator die Berechtigung (kann auch über das ECP vergeben werden), wie im Artikel beschrieben, und wenn man sich dann neu im ECP einloggt und das jeweilige Postfach markiert, kann man über die drei Punkte (erweiterte Optionen) einen PST Export ebenfalls vornehmen.

    VG

    Antworten
  2. Hallo,

    zunächst vielen Dank an Franky für die vielen hilfreichen Beiträge zu Themen, mit denen viele Exchange Administratoren im Laufe ihrer Karriere konfrontiert werden.

    Um meinen Teil dazu beitragen zu können, möchte ich ergänzend hinzufügen, das bei der Konfiguration von -BadItemLimit die 50 als maximaler Wert zu sehen ist.
    Sollte es notwendig sein, einen höheren Wert zu definieren, muss der Parameter -AcceptLargeDataLoss mit eingebracht werden.

    just my two cents…

    Antworten
  3. Hi,
    kleiner Verbesserungsvorschlag: Um Shared Mailboxes auszufiltern braucht man keinen Where Filter mehr, es reicht ein

    Get-Mailbox -RecipientTypeDetails SharedMailbox

    Gruß

    Antworten
  4. Hallo Franky!

    Seit Exchange 2016 CU8 habe ich das Phänomen, dass die PST-Dateien auch bei Neuerstellung die 3-4 fache Größe der Postfächer haben. Ist das normal? Gibt es da Abhilfe?

    Gruß
    Roland

    Antworten
  5. Hallo,

    noch als kleine Hilfestellung: die Berechtigung Schreiben für „Exchange Trusted Subsystem“ der Organisation muss für die Netzwerkfreigabe gesetzt sein, sonst scheitert der Export mit einer entsprechenden Fehlermeldung. Für die, die nicht gleich schreibenden Zugriff für „Jeden“ einrichten wollen.

    Gruß
    Uwe

    Antworten
  6. Hallo Franky,

    ich habe das Problem das der PST Export einer kompletten Datenbank mit ca. 25 Postfächern und 25GB Gesamtgröße sehr lange dauert. Nach 15 Stunden habe ich den Vorgang dann abgebrochen. Man kann erkennen das alle paar Minuten immer nur ein paar MB kopiert werden. Es spielt keine Rolle ob ich die PST Dateien auf einen anderen Server oder auf dem Exchange direkt exportiere. Mit dem Befehl „Get-MailboxExportRequest | Get-MailboxExportRequestStatistics | fl“ konnte ich auf den ersten Blick keine Fehler feststellen. Die Paramter „-BadItemLimit 50000“ und „-AcceptLargeDataLoss“ habe ich gesetzt.
    Ich verwende Exchange 2016 mit der Version CU10.

    Viele Grüße
    Daniel

    Antworten
  7. Hallo, vielen Dank für die Anleitung.

    Besteht die Möglichkeit differentiele PST Sicherungen zu erstellen? z.B. einen Export Request um alle seit Datum xy geänderten Daten in eine PST Datei zu sichern?

    Gruß
    MFG

    Antworten
    • Hallo,
      nein, nur geänderte Daten zu exportieren ist nicht möglich. Es handelt sich hier auch um einen Export der Daten, nicht um eine Möglichkeit für ein Backup. Die Sicherung erfolgt via VSS.
      Gruß,
      Frank

      Antworten
  8. Hallo Frank,

    danke erst mal für Alles. Kann ich den Befehl

    get-mailbox frank | New-MailboxExportRequest -FilePath „\\fwcomex1\d$\Export\frank_kalender.pst“ -IncludeFolders Kalender

    noch verfeinern wenn sich mehrere Kalender in dem Postfach befinden?

    Antworten
  9. Weitere Kalender sind Unterordner vom Standardkalender

    Versuchs mal mit:
    get-mailbox frank | New-MailboxExportRequest -FilePath „\\fwcomex1\d$\Export\frank_kalender.pst“ -sourcerootfolder „Kalender“ -IncludeFolders „Unterkalender“

    Antworten
  10. Hi,

    bin kein Profi ITler, aber auf Grund meiner Historie, meiner Begeisterung für alles was IT ist, sowie meiner Stellung im Beruf und meinen Erfahrungen mit externen Partnern bin ich im Betrieb der „AvD“. Vor zwei Jahren hat uns ein Dienstleister einen Exchange 2016 verkauft und auch installiert, nachdem die Probleme immer mehr wurden, so wurde es uns zuletzt nahezu unmöglich, mit Strato Mails zu versenden.

    Jetzt haben wir umgestellt auf den Online Exchange und sind im ersten Moment mal sehr zufrieden. Da wir auf Grund der o. g. Probleme sehr schnell umstellen mussten, erledigten wir diese Tätigkeiten sofort und wollten uns im Nachgang darum kümmern die Postfächer zu exportieren und Online einzuspielen. Das Exportieren gestaltete sich jedoch extrem kompliziert, wir haben eine EX Datenbank von ca. 200GB und der erste Export von allen Postfächern (kombiniert mit BadItemLimit 50) endete mit einem COMPLETED bei 19 Postfächern und FAILEDOTHER bei 4 Postfächern. Nach erneutem Anlauf schafften es dann auch diese 4 Postfächer zum Status COMPLETED. Für mich unverständlich, dass ein Exportvorgang von 200GB fast 24 Stunden dauert, trotz kurzeitiger Freigabe von 16 Kernen, 64GB RAM und der konsequenten Nutzung von SSDs, aber das nur am Rande, Exchange ist nicht gerade ein Performancewunder.

    Die wahre Odysee begann dann aber beim einspielen der PSTs, der vorgeschlagene Weg vom Dienstleister war das einspielen in die lokalen Outlook Clienst, erster Client angeschaltet, Importfunktion gewählt und „X“, nicht funktioniert, PST angeblich korrupt. Nun gut, erste Idee, PST reparieren lassen, Office bietet da ja durchaus ein Tool, dauert ewig, Ergebnis ist, „repariert“. Eingespielt und diesmal kein Fehler, aber dafür viel besser, er hat eine Mail wiederhergestellt. Super, nichts hat funktioniert. Das ganze ging dann so weiter, auf keinem einzigen PC hat es reibungslos funktioniert, jedes Mal kam zumindest ein Fehler von defekten Elementen. Mein Vertrauen in diesem Zeitpunkt = 0

    Ich habe geschlagene drei Tage und Nächte alles erdenkliche versucht und nichts hat wirklich funktioniert. Meine letzte Idee war es eine Drittanbieter Software zu nutzen. Als ich zu diesem Schluss kam, war der Dienstleister natürlich im Feierabend, also habe ich mich selbst auf die Suche gemacht und für 23 Postfächer habe keine 200 EUR gezahlt und nach der guten Anleitung innerhalb von einer halben Stunde die Migration starten können. Ergebnis nach nun knapp 16 Stunden ist, das 74% der Postfächer hochgeladen sind und ich bisher 35 „Failed Items“ habe, die ich mir aber einzeln anzeigen lassen kann (zumindest Betreffzeile), diese habe ich mir jetzt manuell aus der Datenbank geholt (OWA) und einzeln gespeichert.

    Ist vieleicht hier alles ein wenig falsch, aber meine feste Überzeugung, dass die Powershell Alternative keine wirkliche Alternative ist. meine ein neuer Exchange, ein Online Plan oder sonstwas kostet letztlich ein vielfaches von der Migrationssoftware. Dazu kommt ja noch, dass man selbst wenn es funktioniert eine riesige Manpower benötigt um die Daten zurückzuspielen (zumindest Online fehlte bei uns die Importmöglichkeit (derzeit nicht freigegeben in unserer Region). Hier sind ja viele ITler die damit ihr Geld verdienen unterwegs, verkauft ihr Kunden dieses hier beschriebene Vorgehen wirklich?

    Gruß
    Christian

    Antworten
  11. Wie weiter oben beschrieben: Export aller Postfächer einer Datenbank:
    Wie kann man nur einen spezifischen Unterordner unter Posteingang/“Ordner zum exportieren“ exportieren?
    get-mailbox -Database FWDB1 | foreach {New-MailboxExportRequest -Mailbox $_.Alias -FilePath „\\fwcomex1\d$\Export\$_.pst“}

    Antworten
  12. Hallo,

    beim import der pst kommt es zu folgendem Fehler und abbruch des Imports:
    Error: This mailbox exceeded the maximum number of large items that were specified for this request.

    Antworten
    • Grds. würde es mittels PowerShell und einem BadItemLimit vermutlich erstmal funktionieren.

      Aktuell würde ich jedoch immer noch davon abraten, gerade mit BadItemLimit (was wir ebenfalls dringend benötigten), fehlten etliche Mails und wirklich sauber war es dadurch dann nicht mehr.

      Schau dir mal Drittanbieterlösungen an, ich kanns nur empfehlen, knapp 10 EUR pro Postfach und 30 Minuten Arbeit bis das Programm anfängt hochzuladen. Die BadItems kannst du dir danach anzeigen lassen und ggfsl. nochmal manuell importieren (bei uns waren knapp 200GB Datenbank und 35 defekte Elemente. Ich würde den Namen der Software durchaus verraten, will hier aber nicht in den Verdacht der Schleichwerbung geraten.

      Antworten

Schreibe einen Kommentar