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