Das geht ganz einfach, mit der Exchange Management Shell:
Exchange 2010, 2013, 2016:
Dem Benutzer Berechtigungen geben:
New-ManagementRoleAssignment –Role "Mailbox Import Export" –User Administrator
Wichtig: Die Management Shell neu starten
Neue Netzwerkfreigabe machen, entweder mit Zugriff für Jeder, oder "Exchange Trusted Subsystem"
Danach folgende 2 Befehle ausführen:
$AllMailboxes = Get-Mailbox
$AllMailboxes|%{$_|New-MailboxExportRequest -FilePath \\localhost\PSTExports\$($_.Alias).pst}
Für einzelnes Postfach:
New-MailboxExportRequest -Mailbox <name> -FilePath \\localhost\PSTExports\<name>.pst
Eingehende / Ausgehende Mails nur einer bestimmten Zeit
New-MailboxExportRequest -ContentFilter {(Received -lt ’04/01/2010′) -and (Received -gt ’03/01/2010′) -or (Sent -lt ’04/01/2010′) -and (Sent -gt ’03/01/2010′)} -Mailbox “John” -Name JohnExport -FilePath \\Server\Share\John.pst
Wobei: -gt (greater than), -lt (lower than
Import einer .pst in den neuen Ordner Recovery
New-MailboxImportRequest -FilePath \\localhost\share\test.pst -Mailbox John -TargetRootFolder "Recovery"
Mit diesem Befehl kann der Status überprüft werden:
Get-MailboxExportRequest
bzw
Get-MailboxImportRequest
WICHTIG: Sind alle auf Status "Completed" kann das ganze mit folgendem Befehl noch abgeschlossen werden:
Get-MailboxExportRequest | where {$_.status -eq "Completed"} | Remove-MailboxExportRequest
bzw
Get-MailboxImportRequest | where {$_.status -eq "Completed"} | Remove-MailboxImportRequest
Für Exchange 2007 ist das ganze etwas komplizierter. Es kann nicht direkt auf einem 64bit Server ausgeführt werden, da ein Export in eine .pst nur von einem 32bit Computer / Server geht. Outlook muss ebenfalls installiert sein.
Der Befehl lautet dort:
Get-Mailbox -Database ‘MDB’ | Export-Mailbox -PSTFolderPath D:\PSTs
Keine Kommentare:
Kommentar veröffentlichen