PST Import als Migrationsweg

Meistens migrieren ich Postfächer über die bekannten Wege Cutover, Staging oder in größeren Firmen auch über Hybrid nach Exchange Online. Es gibt aber Situationen, in denen das nicht so einfach möglich ist. Für den Fall bietet Office 365 den Weg an größere Postfachdaten als PST-Datei zu importieren. Sie können dabei die PST-Datei  über einen Azure Space hochladen und importieren oder sogar auf einem Wechseldatenträger an Microsoft senden.

Wenn Sie eine direkte Verbindung per HTTPS zum Quellserver einrichten können, dann ist für eine Migration der Weg einer Org2Org 2016 - Übertragung eine mögliche Option.

Szenario

Ein Beispiel ist ein Verkauf einer Teilfirma oder Herauslösung aus einer Firma. Meist hat die abgebende Firma schon Office 365 mit im Einsatz oder ist im Hybrid-Mode. Die "neue" Firma hat natürlich ein eigenes Active Directory und einen eigenen Tenant und AADConnect aktiv. Da ist es nicht mehr so einfach möglich eine Verbindung zu anderen Tenants aufzubauen und "langsam" zu migrieren. Manchmal gibt es auch "politische Zwänge", die eine Koexistenz verbieten und kann froh sein, wenn man die Mails mitnehmen darf.

PST-Export

Ehe Sie PST-Dateien importieren können, müssen Sie diese natürlich erst mal exportieren. Wichtige Voraussetzung sollte dabei aber schon sein, dass die Quelle sich dann nicht mehr verändert. Sie sollten also zumindest dafür gesorgt haben, dass ...

  1. ... in der Quelle keine Stellvertreter mehr aktiv sind
    Alles was diese am Benutzer vorbei z.B. an Terminen ändern, wird sonst vielleicht nicht mehr mitgenommen
  2. ... keine Mails mehr ankommen
    Das geht am einfachsten durch eine Umleitung der Mails. Beachten Sie, das Anwender in der Regel nur eine Weiterleitung einrichten können, wenn der Administrator automatische Weiterleitungen zu anderen Domänen erlaubt. Wenn die Mail zum Ziel umgeleitet werden soll, so dass die "Absender-Adresse" erhalten bleibt, dann sollten das Zielsystem das weiterleitende System als "vertrauenswürdig" ansehen, damit SPF-Einträge die Annahme nicht verhindern. Das gilt auch für den Spamfilter des abgebenden Systems, welcher bei ausgehenden Mails auch auch gerne die Absenderadresse überprüft.
  3. ... keine Mails mehr versendet werden
    Der Anwender selbst sollte natürlich auch nicht mehr mit dem Postfach aktiv arbeiten. Insbesondere sollte er keine Mails mehr mit der alten Adresse senden, wenn der PST-Export schon den "Gesendete Objekte"-Order verarbeitet hat. Aber auch andere Veränderungen sollten unterbleiben

Das Postfach sollte also "Frozen" sein. Die Daten können dann über einen Export in eine PST-Datei abgezogen werden.

  • PST-Export durch den Anwender
    Wenn Sie keinen Zugriff auf die Quellserver haben und die abgebende Firma ihnen keine Unterstützung anbietet, dann können Sie nur durch den Anwender einen Export der Mails in eine PST-Datei zu lassen. Wenn die abgebende Firma den Zugriff auf Exchange sogar auf "managed Devices" beschränkt und die neuen Clients daher keinen Zugriff haben, dann muss der Export noch erfolgen, ehe der Anwender keinen Zugriff mehr hat und er muss die PST-Datei auch noch "mitnehmen" dürfen. Das ist in Zeiten von Endpoint Security mit gesperrten USB-Ports gar nicht mehr so oft möglich
  • PST-Export über Exchange Server
    Besser ist hier der Weg, als Administrator auf dem Exchange Server direkt die Weiterleitung der Mails einzurichten, Stellvertreter zu entfernen und dann den Export in eine PST-Datei zu veranlassen. Der abgebende Administrator könnte in Abstimmung danach ja auch gleich das Postfach löschen und aus dem "MailboxUser" einen "MailUser" machen. Vielleicht wartet er damit aber noch bis zum Abschluss des erfolgreichen Imports.

Es gibt natürlich noch andere Wege, die Mails in ein Zielsystem zu übertragen. Das kann der Benutzer mittlerweile mit Outlook sogar selbst erledigen, da Outlook 2013 und höher gleichzeitig mit zwei Exchange Servern verbunden sein kann. So könnte der Anwender selbst die Mails einfach per Drag&Drop umziehen. Das wird aber ungerne gemacht, da die Netzwerkbelastung schwer vorherzusehen ist und der Anwender Fehler machen kann. Es gibt auch 3rd Party Produkte, die Mails per EWS aus einer Quelle lesen und in ein Ziel übertragen. Auch hierbei ist zu beachten, dass insbesondere Office 365 ein "EWS-Throttling" durchsetzt und die Kopieraktion daher relativ lange dauern kann. Mir sind servergestützte Lösungen hier lieber, bei denen ein Administrator die Kontrolle über Export und Import hat.

Grenzen des PST-Import

Ein Export/Import von Elementen über eine PST-Datei ist immer gewissen Beschränkungen unterworfen. Gerade bei der Migration "Cross Org" oder von anderen Mailsystemen" ist es nicht damit getan "Mails" zu übertragen. Daher hier ein paar Hinweise auf mögliche Probleme, auf die Sie ihre Anwender hinweisen sollten.

  • Mailadressen in den Objekten (LegacyExchangeDN u.a.)
    Bei Mails müsste genau genommen noch geprüft werden, ob die Mailadressen danach noch gültig sind. Exchange und Outlook haben früher hier gerne nicht die generische SMTP-Adresse sondern den Legacy Exchange DN hinterlegt, der auch als X.500 Adresse in Migrationen mitgeführt wurde. Bei Migrationen von Notes und GroupWise kommen bei internen Mails gar keine SMTP-Adressen zum Einsatz, so dass ohne eine Konvertierung z.B. eine Antwort nicht möglich ist.
  • Regeln und OOF
    Wenn Sie eingehende Mails automatisch verarbeiten, dann sind diese Regeln im Ziel neu einzurichten, da Sie über den Umweg einer PST-Datei nicht übertragen werden
  • Berechtigungen
    Auch Berechtigungen auf ihr altes Postfach für Stellvertreter und Frei/Belegt-Zeiten sind in einer PST nicht hinterlegt und fehlen daher im Ziel
  • Ansichten und Briefpapier
    Viele Anwender erstellen sich eigene Ansichten im Postfach. Diese werden ebenfalls nicht mit einem PST-Export erfasst
  • Verschlüsselte Mails
    In der Regel können verschlüsselte Mails nur gelesen werden, wenn Sie den passenden privaten Schlüssel haben. Diese sind beim Export nicht vorhanden und wenn Sie diese auf ihre Zielsystem nicht übertragen, kommen Sie nicht mehr an die Mails
  • Archivierte Mails
    Wird in der Quelle ein Archivsystem benutzt, dann könnten die Mails im Postfach nur noch "Rumpfmails" sein mit einem Verweis auf das Archiv. Der serverseitige Export in eine PST-Datei stößt in der Regel nicht die Wiederherstellung der archivierten Mails an, so dass in der PST-Datei und dem späteren Import nur die Rumpfmail zu sehen ist.
  • Termine und Einladungen
    Wer einen Termin "löscht", sendet in der Regel auch die Absage an vorherige Teilnehmer. Beim Export wird in der Regel aber nichts gelöscht. Beim Import des Termins in das Ziel wird es aber eventuell schwer die Teilnehmer wieder aufzulösen. Gehen Sie davon aus, dass Serientermine und Termine mit anderen Teilnehmern einigen Nacharbeiten bedürfen. Idealerweise erstellt der Anwender die Termine mit Einladungen im Ziel neu und sagt dann in der Quelle die Termine ab, damit die Teilnehmer wieder einen sauberen Stand haben.

Das ist nur eine Teilmenge der möglichen Probleme. Aber es ist immer noch mehr als gar keine Informationen.

PST auf dem Server exportieren

Um die PST-Dateien auf dem Exchange Server in der Quelle zu exportieren, müssen Sie ein Konto nutzen, welches die RBAC-Rolle "Mailbox Export/Import" hat. Ansonsten haben Sie erst gar keinen Zugriff auf die entsprechenden Commandlets. Dann benötigen Sie natürlich noch irgendwo Platz zur Zwischenspeicherung der PST-Dateien. Da der Export durch den Mailbox Replication Service (MRS) eines beliebigen Servers durchgeführt wird, muss der Ablageplatz über einen UNC-Pfad erreichbar sein und die Exchange Server müssen dort natürlich schreiben können.

Import von PST-Dateien : Exchange Trusted Subsystem: Leseberechtigungen
Export von PST-Dateien : Exchange Trusted Subsystem:Lese-/Schreibberechtigung

Die Syntax und Voraussetzungen sind aber bei Microsoft gut dokumentiert:

Vorbereiten des Import

Die PST-Datei muss natürlich irgendwie zu Exchange Online, damit sie dort importiert werden kann. Es wäre zu mühselig jede einzelne Mail per MAPI oder EWS in die Postfächer hochzuladen. Nicht nur der Schutz von Exchange Online gegen Missbrauch durch Throttling würde Geschwindigkeit kosten. Auch die immer vorhandene Latenz durch die Laufzeit der Pakete beim Import jeder einzelnen Mail wäre kontraproduktiv. es ist daher viel besser größere binäre Datei quasi zu Exchange Online zu "streamen" und dort dann quas lokal installieren zu lassen. Bei Exchange Online kommt das Tool "Azure Copy (AZCOPY)" in Verbindung mit einem Azure-BLOB zum Einsatz. Das braucht Sie aber nicht zu erschrecken, da ein Assistent ihnen dabei hilft.

Der Einstieg im Ziel-Tenant erfolgt über die URL https://protection.office.com/#/import. Die meisten Administratoren werden hier aber aber auch die rote Fehlermeldung sehen, dass Sie gar keine Rechte haben.

Das ist "normal" da sowohl in der Cloud als auch On-Prem die RBAC-Rolle zum Export/Import von Nachrichten erst einmal leer ist. Sie müssen also über die Exchange Powershell oder die Exchange Webverwaltung auf https://outlook.office365.com/ecp/ erst einem Konto die Rechte geben.

Es kann durchaus einige Minuten dauern, bis diese neue Berechtigungen in Office 365 wieder im Security & Compliance Center angekommen sind. Danach können Sie über den "New import Job"-Button einen Job anlegen:

Ihr Job benötigt natürlich einen Namen. Interessanterweise dürfen hier nur Kleinbuchstaben verwendet werden. Im nächsten Schritt ist dann anzugeben, ob Sie die Dateien hochladen oder als Datenträger verschicken

Im nächsten Fenster finden Sie noch einmal den Link zu einer Anleitung

Am wichtigsten sind aber die beiden nächten Links

  • SAS URL zum Upload
    Diese URL muss als Parameter beim Kopieren der PST-Dateien per AZCOPY verwendet werden. Das ist genau genommen eine sehr lange URL, die von der Cloud verstanden wird. Jeder der diese URL hat, kann Dateien in den Store hochladen.
  • Download von AZCOPY
    https://aka.ms/downloadazcopy

Die beiden Checkboxen brauchen Sie hier noch nicht zu verwenden.

Der Assistent bleibt hier nun stehen, bis Sie die Dateien hochgeladen haben. Die Upload-URL ist normalerweise 1 Monat gültig.

Upload der PST-Dateien

Nun ist es an der Zeit die gesammelten PST-Dateien in den BLOG hochzuladen. Installieren Sie dazu AZCOPY und sammeln Sie alle PST-Dateien in einem eigens dazu vorbereiteten Verzeichnis und starten Sie AZCopy mit den entsprechenden Parametern

AzCopy.exe /Source:<Location of PST files> /Dest:<SAS URL> /V:<Log file location>

Wenn der Zugriff zur Cloud nur über einen HTTP-Proxy möglich ist, dann müssen Sie eine Datei mir folgendem Inhalt anlegen oder eine bestehende Datei erweitern

Dateiname: "C:\Program Files (x86)\Microsoft SDKs\Azure\AzCopy\"

<configuration>
   <system.net>
     <defaultProxy>
        <proxy proxyaddress="http://PROXY_ADDRESS:PORT_NUMBER" bypassonlocal="true" />
     </defaultProxy>
   </system.net>
 </configuration>

Wenn Sie mögen, können sie den Inhalt des BLOG mit dem Azure Speicherexplorer einsehen und sogar hochladen!

Azure Storage Explorer
http://storageexplorer.com/
https://azure.microsoft.com/en-us/features/storage-explorer/

Das ist dann für die Freunde der GUI wieder von Vorteil. Dort können Sie den Proxy auch über die GUI im Menü einstellen:

Steuerdatei anlegen

Allein mit dem Upload der PST-Dateien ist es nicht getan. Irgendwie müssen wir eine Zuordnung der PST-Dateien zu den Postfächern hinbekommen. Dazu ist wieder eine klassische CSV-Datei zu erstellen. Hier ein einfaches Beispiel für eine PST-Dateien und ein Archiv.

Workload,FilePath,Name,Mailbox,IsArchive,TargetRootFolder,ContentCodePage,SPFileContainer,SPManifestContainer,SPSiteUrl
Exchange,,User1.pst,User1@msxfaq.com,FALSE,/,,,,
Exchange,,User1_archive.pst,User1@msxfaq.com,TRUE,,,,,

Die Details der Fehler können Sie auf der folgenden Seite lesen

Import abschließen

Nach dem Upload der PST-Datei und der Erstellung der Mapping-Datei können Sie den Import starten:

Vor dem Import sehen Sie aber erst noch mal einen Status.

Aber direkt importiert dies auch hier noch nicht. Der Import-Prozess analysiert erst einmal die PST-Dateien, was einige Zeit dauern kann. Und dann haben Sie immer noch die Option den Import zu beschränken, um z.B. nur jüngere Mails zu importieren.

Selbst der Druck auf "Import to Office 365" startet noch mal ein eigenes Fenster zum Filtern.

Wer hier dann "Yes" auswählt, bekommt eine nette Anzeige des Inhalts:

Und selbst hier können Sie dann noch weiter filtern. Und erst wenn Sie dann diese Einstellungen noch einmal bestätigt haben, wird der Import in die Warteschlange aufgenommen.

Die einzelnen Statusanzeigen zur Überwachung des Import kürze ich hier weg und komme direkt zum Ergebnis. Es kann aber einige Minuten oder gar Stunden dauern, bis der Import startet und abgeschlossen ist. Ich habe Importraten von 4-6 Gigabyte/Stunde gesehen, wobei dies sicherlich auch von der Größe und Anzahl der PST-Dateien abhängig ist. Exchange Online wird wie auch Exchange lokal über den MRS mehrere Export/Import-Vorgänge parallel ausführen. Eine große PST wird daher länger dauern als viele kleine PST-Dateien.

Über den Fortschritt wird der Administrator auch per Mail informiert:

Der Status am Ende zeigt für jede PST-Datei die Details:

Das Log-File ist auch wieder eine CSV-Datei, deren Aufbau selbsterklärend ist.

PST Filename,Target Mailbox,Import Status,Error,Total Items,Item Imported,Target Folder,Skipped Item Count,Last Failure,Total Item Size,Imported Item Size User1.pst,User1@carius.onmicrosoft.com,Completed,None,0,5,,2,,0,307777

Wenn Sie mit dem Ergebnis zufrieden sind, dann können Sie hier den Job auch gleich wieder entfernen.

Anmerkungen

Ein paar Informationen aus der Praxis:

Hinweis: Diese Daten sind eine Momentaufnahme vom Januar 2018 und können durch Microsoft natürlich angepasst werden.

  • Ein Job kann nur einmal laufen.
    Wenn sie eine Gruppe von PST-Dateien durch die ganzen Schritte bis ins Postfach importiert haben, ist der Job am "Ende". Die PST-Dateien sind zwar weiter im Azure Store vorhanden aber der Job kann nicht erneut gestartet werden. Es würde ja auch keinen Sinn machen, da sich an der Qualität des Imports nichts ändern würde.
  • Neuer Job mit bestehenden Daten
    Sie können aber einen neuen Job anlegen. Solange der Azure Blob-Storage noch gültig ist, nutzt der Job den gleichen Speicher erneut. Sie könne also nun eine abweichende Steuerdatei angeben und die Elemente mit anderen Filtereinstellungen noch einmal importieren
  • Mehrfachimport
    Wenn Sie die gleiche PST-Datei in das gleichen Postfach erneut importieren, dann gibt es einige Fälle zu beachten:
    • Gleiche Mail noch mal vorhanden
      In dem Fall wird die Mail nicht erneut importiert.
    • Umbenannter Ordner
      Ich habe nach dem ersten Import einen Ordner umbenannt. Er wurde nicht mehr erneut angelegt. Es muss in der PST eine FolderID geben, die beim Import mit genutzt wird.
    • Veränderte Mails
      Ich habe beim ersten Import angelegte Nachrichten verändert (als ungelesen markiert, mit einer Kennzeichnung verstehen etc. Diese Elemente wurden nicht überschrieben und nicht dupliziert.
    • Gelöschte Mail
      Natürlich habe ich auch eine Mail gelöscht. Bei einem erneuten Import wurde diese Mail wieder hergestellt. Es ist also ein "Merge" in Bezug auf fehlende Mails
    • Gelöschte Ordner
      Anders verhält es sich aber wohl für Ordner, die nur nach "Gelöschte Objekte" verlagert wurden. Auch ein erneuter Import hat diese Ordner nicht wieder hergestellt.
    • Deutsch/Englisch
      Anscheinend importiert Exchange Online die Ordner in der Landessprache, in der auch das Postfach angelegt ist. Wenn die PST aber einen Ordner "Posteingang" enthält und die Mailbox ein "Inbox", dann finden die Ordner nicht zusammen. In einer PST gibt es keine "Well Known Folder". Achten Sie daher darauf, dass die Ordnernamen in den PST-Dateien mit den Ordnern im Postfach übereinstimmen.
  • Einschränkungen
    Bedenken Sie aber immer, dass dieser Import nur PST-Inhalte in das Postfach übertragen kann. Viele andere Informationen sind in der PST-Datei gar nicht vorhanden und können so nicht in ein Zielpostfach übertragen werden. Dazu zählen:
    • Regeln und Out of Office Einstellungen
      Diese Informationen sind nur auf dem Exchange Server verfügbar
    • Stellvertreter und Rechte
      Auch werden keine Informationen bezüglich der Zugriffsrechte anderer Personen übertragen
    • Ansichten und Briefpapier
      Wenn Sie in Outlook z.B. Spaltenbreiten und Köpfe verändert haben oder in Outlook mit einem eigenen Briefpapier gearbeitet haben sollten, dann müssen Sie dies wieder neu einrichten
    • Disclaimer
      Auch Informationen zu automatisch addierten Fußzeilen müssen neu eingerichtet werden.
    • Verschlüsselte Mails
      Test steht noch aus.
    • Serientermine und Termineinladungen
      Sie könnten in der Quell einen Termin mit mehreren Teilnehmern organisiert oder selbst eine Termineinladung angenommen haben. Solche Elemente stellen besondere Herausforderungen an den Import, damit die Funktion erhalten bleibt.

PST Export aus der Cloud

Neben der Import-Funktion gibt es auch eine Export-Möglichkeit über das eDiscovery-Center in Office 365. Damit können Sie Mails aus Office 365 in PST-Dateien exportieren.

Damit können Sie sogar auf einem niedrigen Niveau sogar Mails von einem Postfach in einem Tenant zu einem Postfach in einem anderen Tenant übertragen. Allerdings ist das wirklich nur eine rudimentäre Funktion und vielleicht sollten Sie sich überlegen, wo die Daten temporär am besten abgelegt werden. So kostet 1 TB in Azure auch ca. 80-100€ (Stand Jan 2018). Zudem müssen Sie sich um die Provisionierung der Postfächer mit Postfächern, Weiterleitungen etc. komplett selbst kümmern. Insofern ist dieser Weg eher für wenige Postfächer im Rahmen einer Auslösung interessant.

Weitere Links