Exchange PST-Export

Manchmal braucht man ja mal die Möglichkeit, mal eben schnell ein paar Mailboxes in eine PST zu sichern. Mit dem folgenden Script werden ausgewählte Exchange Postfächer in PST-Dateien gesichert, die ihrer primären SMTP-Adresse entsprechen.

Vorbereitung: Der Benutzer, mit dem die Sicherung durchgeführt werden soll, muss die nötige Rollenzugehörigkeit haben. Auch der Administrator. Hier ein Beispiel für den Administrator (in der Exchange Management Shell ausführen!):

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

Nachdem das erledigt ist, muss die Exchange Management Shell neu gestartet werden und dann kann es losgehen.

Zuerst definiere ich ein Array mit den nötigen Aliasen. Will man generell alle Postfächern sichern, kann das über $Mailboxes = Get-Mailbox erledigt werden.

Weiterhin muss ich angeben, wohin gesichert werden soll. (Ein Netzwerk-Share, auf den das Maschinenkonto des Exchange-Servers Zugriff hat!)

Im Anschluss läuft eine For-Schleife um die Mailboxes zu exportieren.

$Mailboxes = @("alias1","alias2","alias3")

$Server = "localhost"
$Share = "d$\PST-Archiv"

foreach ($Mailbox in $Mailboxes) {
     [string]$Address = Get-Mailbox $Mailbox | Select-Object -ExpandProperty PrimarySmtpAddress
     New-MailboxExportRequest -Mailbox $Mailbox -FilePath \$Server\$Share\$Address.pst
 }

Der Status lässt sich jederzeit mit Get-MailboxExportRequest überprüfen. Wenn alles auf „Completed“ steht, lassen sich alle Requests via Get-MailboxExportRequest | Remove-MailboxExportRequest löschen.