Exchange – PST Export und Import von Postfächern – Management Shell

Wer mal schnell ein Exchange Postfach weg sichern möchte, für den bietet sich der Export in ein PST File an. Dieser Export eines Kontos ist im Grunde mit einem „Einzeiler“ auf der EMS (Exchange Management Shell) erledigt. Genauso einfach verhält es sich mit dem Import eines Nutzer Postfachs aus einer PST Datei. Allerdings gibt es beim Export als auch beim Import ein paar Kleinigkeiten zu beachten, über die wir Euch hier in dieser kleinen Anleitung berichten werden. Auch zeigen wir Euch in diesem HowTo ein paar Tricks beim Import, welche vielleicht ganz nützlich sein können.

Nutzerrolle zuweisen:
Doch bevor wir überhaupt erst los legen können, benötigen wir für diese Funktionalität die entsprechenden Rechte. Dafür teilen wir uns einfach selbst die Role für den Mailbox Import und Export zu.

New-ManagementRoleAssignment –Role „Mailbox Import Export“ –User DEINUSER

Damit hätten wir die Basis geschaffen.

Export in eine PST-Datei
Der Export in ein *.PST File ist ebenfalls sehr schnell mit einem einzigen Kommando erledigt! Es gibt dabei nur einen Punkt zu beachten. Der Speicherpfad für diesen Vorgang darf sich nicht lokal auf der Maschine befinden. D.h. ihr müsst einen Share über das Netzwerk verwenden!! Ich habe zwar keine Ahnung warum dies so ist – aber gut, wenn man es weiß, stellt es ja im Normalfall kein Problem dar.

New-MailboxExportRequest -Mailbox martin -FilePath \server\Shares\pstexport\martin.pst

Sollte der Export nun eine Fehlermeldung auswerfen:

PST-Datei „Pfad“ kann nicht geöffnet werden. Fehlerdetails: Der Zugriff auf den Pfad „Pfad“ wurde verweigert.

Liegt es daran, dass der Zugriff auf den Share durch den Computer ausgeführt wird. D.h. wenn ihr auf dem Share nur Nutzer berechtigt habt, dann kann der Exchange Server nicht darauf zugreifen. Um das Speichern zu ermöglichen muss nun das Computer-Konto des Mail-Servers beim Zugriff auf den Share eingetragen werden. Danach sollte der Export auch ohne Probleme durch laufen.

Der Auftrag befindet sich nun in der Warteschlange bzw. wird abgearbeitet.

Falls Euch der Status des Exports interessiert, so könnt ihr diesen über diesen Befehl einsehen:

Get-MailboxExportRequest

 

Ihr wollt alle Postfächer einer Datenbank exportieren?
Dies ist natürlich auch kein Problem! Nutzt hierzu einfach folgenden Befehl!

(Get-Mailbox) | foreach {New-MailboxExportRequest -Mailbox $_.alias -FilePath „\server\Shares\pstexport$_.pst“}

Hier solltet ihr auf den Speicherplatz achten!

Gut das PST Archive haben wir nun als Backup – jetzt geht es darum dieses wieder auf den Exchange einzuspielen!

PST-Mailbox importieren
Dies ist im Grunde genauso einfach wie der Export! Wir benutzen hier folgenden Befehl:

New-MailboxImportRequest -Mailbox martin -FilePath \server\Shares\pstexport\martin.pst

Sollte es Probleme beim Import geben, könnte man den Parameter „-BadItemLimit 20“ anfügen. Dann überspringt das System 20 Fehler.

Alternativ dazu könnte man auch versuchen über „Scanpst“ das Archive zu reparieren. Funktioniert gar nichts mehr, solltet ihr einfach den Parameter „-AcceptLargeDataLoss“ setzen. Dann bügelt der Exchange einfach alles rein, was noch verfügbar ist.

Die Warnung informiert Euch nur über den gesetzten Parameter!

Den Status bekommen wir über folgenden Befehl angezeigt:

Get-MailboxImportRequest

 

Import von mehreren Postfächern:

Dir \server\Shares\pstexport\*.pst | %{ New-MailboxImportRequest -Mailbox $_.BaseName -FilePath $_.FullName}

WICHTIG!!
Die exportierten Files müssen bei diesem Befehl den Namen des Nutzerkontos / Alias tragen. Sonst funktioniert er nicht! Bei unserem globalen Export etwas weiter oben im Beitrag wäre dies der Fall.

Beim Massen-Import macht unter Umständen eine Statusabfrage nach Zustand mehr Sinn.

Get-MailboxImportRequest -Status Completed
Get-MailboxImportRequest -Status Queued
Get-MailboxImportRequest -Status InProgress
Get-MailboxImportRequest -Status Failed

 

Eine sehr interessante Funktion ist der Import eines PST Files in ein bestehendes Postfach …direkt in einen Unterordner!!!

New-MailboxImportRequest -FilePath \server\Shares\pstexport\martin.pst -Mailbox martin -TargetRootFolder "Ordnername"

Man könnte auch ein PST File direkt in ein persönliches Archiv importieren!
Dazu fügt man einfach den Parameter „-IsArchive“ an!

WICHTIG!!
Das Archiv muss schon vorhanden und entsprechen eingerichtet sein! Sonst funktioniert es nicht!

Damit wären wir im Grunde schon durch!
Allerdings gibt es noch ein oder zwei Befehle, welche man zum Aufräumen benutzen kann.

Import bzw. Export Requests löschen
Nachdem das importieren oder exportieren gelaufen ist, bleiben die Request weiter bestehen. Wer mehr Übersicht haben möchte, gerade nach größeren Import oder Export Läufen, kann diese Request auch löschen.

Alle Importvorgänge aus der Warteschlange löschen:

Get-MailboxImportRequest | Remove-MailboxImportRequest

Wer z.B. nur vollständige löschen möchte, sollte diesen Befehl nutzen:

Get-MailboxImportRequest | where {$_.status -eq "Completed"} | Remove-MailboxImportRequest

Beim Export funktioniert es natürlich genauso!

Alle Exportaufträge löschen:

Get-MailboxExportRequest | Remove-MailboxExportRequest

Nur z.B. vollständige Exportaufträge löschen:

Get-MailboxExportRequest | where {$_.status -eq "Completed"} | Remove-MailboxExportRequest

TIPP:
Wer diesen Vorgang automatisieren möchte, stolpert irgendwann über die Abfrage – „möchten sie diese Aktion wirklich ausführen?“ Diese Meldung kann man automatisch bestätigen:

Get-MailboxExportRequest -Status Completed | Remove-MailboxExportRequest -confirm:$all

Hier im Beispiel werden dann alle ExportRequests gelöscht, welche erfolgreich gelaufen sind.

 


Tags:

  • new-mailboximportrequest -LargeItemLimit
  • Ms exchange Postfach export
Die mobile Version verlassen