Exchange: Postfach per Powershell in PST exportieren (Eventuell Fehler: CommandNotFoundException)

Ich möchte gerne alte Postfächer von ausgeschiedenen Mitarbeiter in PST-Dateien exportieren. Das möchte ich aber ohne Outlook und zentral vom Server aus machen. Die Lösung findet man mit Powershell! Aber hier gibt es auch einen Fallstrick, den man wissen muss!

Es ist wichtig zu wissen, dass standartmäßig erst mal kein Benutzer berechtigt ist Postfächer in PST zu exportieren - auch der Administrator nicht! Man muss also einem Benutzer erstmal die Berechtigung geben. Dies erfolgt mit dem cmdlet New-ManagementRoleAssignment und der Rolle "Mailbox Import Export". Mit folgendem Befehl gebe ich dem Administrator die Berechtigung:
New-ManagementRoleAssignment –Role “Mailbox Import Export” –User domain\Administrator

Wenn man das vergißt, dann erhält man beim ersten Export folgenden Fehler:

The term 'New-MailboxExportRequest' is not recognized as the name of a cmdlet, function, script file, or operable progr
am. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:25
+ New-MailboxExportRequest <<<< -Mailbox 123456 -FilePath \\server\pstexport\export.pst
+ CategoryInfo : ObjectNotFound: (New-MailboxExportRequest:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException

Nachdem man die Berechtigung vergeben hat, kann man mittels dem cmdlet New-MailboxExportRequest ein Postfach exportieren. Hier ein Beispielt für einen vollständigen Aufruf:
New-MailboxExportRequest -Mailbox misterx –FilePath \\server\pstexport\misterx.pst

Der Export-Request startet dann und wird beim System, je nach Auslastung, abgearbeitet. Den Status des Exports erhält man mit folgendem Befehl:
Get-MailboxExportRequest

Status InProgress = läuft noch, Status Completed = Export abgeschlossen
Da die abgeschlossenen Export-Requests nicht automatisch gelöscht werden, würde ich diese zeitnah manuell löschen, da ab einer bestimmten Anzahl keine mehr angenommen werden (ähnlich wie bei den Mailbox-Move-Requests).
Um den z.B. alle erfolgreichen Export-Request zu löschen verwenden Sie folgenden Befehl:
Get-MailboxExportRequest -Status Completed | Remove-MailboxExportRequest

Microsoft Excel/Word zeigt falschen, sperrenden Benutzer im "Dokument wird verwendet" Dialog an

Ich erhalte in letzter Zeit gehäuft die Meldung, dass Benutzer Dateien sperren, aber ein falscher Name bei der Sperre angezeigt wird.

Als Beispiel zur Erklärung:
Herr X öffnet eine Excel-Datei und erhält die Meldung, dass Herr Y die Datei bereits geöffnet hat. Herr Y hat diese Datei aber nicht geöffnet, sondern Herr Z. Trotzdem wird Herr Y als sperrender Benutzer angezeigt!
Warum der falsche Name?
Wenn man eine Office-Datei öffnet, dann wird im gleichen Verzeichnis eine temporäre Datei mit einer „~“ vorweg erstellt (z.B.: ~$Mappe1.xlsx). Darin wird festgehalten, welcher Benutzer die Datei geöffnet hat. Normalerweise sollte die „~“-Datei nach dem schließen automatisch gelöscht werden, was augenscheinlich aber nicht immer funktioniert und die Datei bleibt erhalten. Beim nächsten Öffnen kann keine NEUE „~“-Datei erzeugt werden und die Benutzerinformationen bleiben bestehen. Wenn jetzt ein anderen Benutzer die Datei öffnen will, werden die veralteten Informationen angezeigt.

LÖSUNG: Wenn man die „~“-Datei löscht, dann werden die Informationen beim nächsten Öffnen wieder richtig angezeigt.
Schaut man mal in die „~“-Datei mit einem Editor rein, dann sieht man, dass hierin der bearbeitende Benutzer vermerkt ist. Auffällig ist meiste das veraltete Erstellungsdatum. Generell könnte man auf seinem Fileserver nach solchen Dateien suchen und alle, die älter als zwei Tage sind löschen!

“Sicher ist, dass nichts sicher ist. Selbst das nicht.”
Joachim Ringelnatz