Im zweiten Teil der Migration von Exchange 2016 zu Exchange 2019 CU15 wurde Exchange 2019 konfiguriert. In diesem Teil geht es nun um die Migration der Postfächer zum neuen Server. Zum Schluss kann dann der alte Exchange 2016 Server deinstalliert und die Migration abgeschlossen werden.
Migration der Postfächer
Die Postfächer können per Exchange Admin Center oder per Exchange Management Shell in die neue Datenbank verschoben werden. Im Exchange Admin Center findet sich dazu der Reiter „Migration“. Der Assistent hilft beim Erstellen der Migrationbatches zum Verschieben der Postfächer. Wenn die Migration der Postfächer per Exchange Admin Center durchgeführt wird, sollte darauf geachtet werden, dass zunächst das Postfach mit dem Namen „Microsoft Exchange Migration“ verschoben wird:
Die restlichen Postfächer können danach verschoben werden. Der Weg über das Exchange Admin Center halt allerdings einen Nachteil. Das Exchange Admin Center erstellt Migration Batches und diese sind ziemlich langsam. Schneller geht es über die Exchange Admin Shell und MoveRequests. Moverequests sind zwar älter, laufen aber schneller.
Ich beschreibe im Folgenden den Weg über die Exchange Management Shell, beide Wege funktionieren aber problemlos und der Benutzer merkt in beiden Fällen nichts vom Verschieben seiner Mailbox. Welcher Weg gewählt wird, ist also letztlich egal.
Systempostfächer verschieben
Zunächst werden die Systempostfächer inkl. des Migrationspostfachs verschoben. Dazu reicht es den folgenden Befehl mit Angabe des Exchange 2019 Datenbanknamens auszuführen:
get-mailbox -Arbitration | New-MoveRequest -TargetDatabase MBXEX19
Sobald die Moverequests abgeschlossen sind, kann mit den restlichen Postfächern weiter gemacht werden. Den Status der Moverequets kann man sich mit den folgenden Befehlen anzeigen lassen:
Get-MoveRequest
Get-MoveRequest | Get-MoveRequestStatistics
Im Exchange Admin Center werden die Moverequets übrigens nicht angezeigt, dort sind nur Migration Batches zu sehen.
Benutzerpostfächer verschieben
Auf dem gleichen Weg wie die Systempostfächer können jetzt auch die Benutzerpostfächer verschoben werden:
get-mailbox -RecipientTypeDetails UserMailbox | New-MoveRequest -TargetDatabase MBXEX19
Hier gibt es natürlich viele Wege, wie man priorisieren kann, wenn man denn möchte. Beim Verschieben der Postfächer in die Exchange 2019 Datenbank, werden viele Transaktionslogs erzeugt, welche bei der Sicherung der Datenbank bereinigt werden. Es kann also Sinn machen nur eine gewisse Anzahl an Postfächern pro Tag zu verschieben und immer mal wieder eine Sicherung abzuwarten. Hier muss man sich etwas ran tasten. Wer sich nicht so sicher in der PowerShell fühlt, kann hier auch gut das Exchange Admin Center benutzen und sich seine Migration Batches nach den eigenen Anforderungen zusammen stellen.
Postfächer für öffentliche Ordner verschieben
Postfächer für Öffentliche Ordner lassen sich mit dem folgenden Befehl verschieben:
get-mailbox -PublicFolder | New-MoveRequest -TargetDatabase MBXEX19
Die Öffentlichen Ordner sind also genau so einfach zu verschieben wie alle anderen Postfächer auch. Das war in der Vergangenheit schon mal zickiger.
Freigegebene- und Ressourcen Postfächer verschieben
Freigegebene und Ressourcen Postfächer lassen sich mit dem folgenden Befehl in die neue Datenbank verschieben:
get-mailbox -RecipientTypeDetails Shared, Roommailbox, EquipmentMailbox | New-MoveRequest -TargetDatabase MBXEX19
Auch hier gibt es wieder viele Möglichkeiten zum Filtern und Priorisieren. Wenn man denn möchte oder muss.
Weitere Postfächer verschieben
Die meisten Postfächer sind mit den oben genannten Befehlen zu verschieben, um alle Postfächer aus der alten Datenbank in die neue Datenbank zu verschieben, kann der folgende Befehl verwendet werden:
Get-Mailbox -Database MBXEX16 | New-MoveRequest -TargetDatabase MBXEX19
Die Audit Mailbox lässt sich mit dem folgenden Befehl verschieben:
get-mailbox -Database MBXEX16 -AuditLog | New-MoveRequest -TargetDatabase MBXEX19
In der Exchange 2016 Datenbank dürften jetzt keine Postfächer mehr gespeichert sein. Sollte es weitere Exchange 2016 Datenbanken geben, können auch für diese die MoveRequests per Shell oder auch die Migration Batches im Exchange Admin Center erstellt werden.
Exchange 2016 Deinstallation
Damit Exchange 2016 deinstalliert und die Migration abgeschlossen werden kann, müssen alle Postfächer auf den neuen Exchange 2019 Server verschoben sein. Die Exchange 2016 Datenbanken sind also leer. Die Deinstallation kann daher jetzt vorbereitet werden.
Firewalls / Router / Geräte und Portforwards prüfen
Bevor Exchange 2016 deinstalliert wird, sollte einmal geprüft werden, ob es noch Geräte wie Firewalls, Router, Drucker, Scanner, MFCs oder andere Software gibt, welches Mails über den Exchange 2016 Server zustellt. Möglicherweise gibt es auch Portforwards (25,443,80) zum Exchange 2016 Server welche spätestens jetzt auf den Exchange 2019 Server umgestellt werden sollten.
Um Software und Geräte zu finden, welche noch Mails über Exchange 2016 versenden, kann das Exchange Message Tracking verwendet werden. Dazu gibt es eine GUI oder auch die Shell.
Exchange 2016 Datenbank entfernen
Sobald die Exchange Datenbank leer ist und keine Postfächer mehr enthält, können zunächst die MoveRequest gelöscht werden:
Get-MoveRequest | Remove-MoveRequest
Wenn Migration Batches verwendet wurden, lassen sich diese über das Exchange Admin Center löschen.
Jetzt kann die leere Exchange 2016 Datenbank dismountet und gelöscht werden. Dazu können diese beiden Befehle verwendet werden:
Dismount-Database MBXEX16
Remove-MailboxDatabase MBXEX16
Exchange 2016 deinstallieren und Migration abschließen
Damit Exchange 2016 deinstalliert werden kann, muss jetzt nur noch der Sendeconnector angepasst werden. Der Exchange 2016 Server wird aus der Liste der Quellserver für alle Sendeconnectoren gelöscht:
Exchange 2016 kann jetzt unter „Programs and Features“ deinstalliert werden:
Es öffnet sich der Assistent zur Deinstallation des Servers:
Nach der finalen Prüfung kann der Exchange 2016 Server deinstalliert werden:
Nach erfolgter Deinstallation kann der Server aus dem Active Directory entfernt und gelöscht werden. Die Migration ist damit vollständig abgeschlossen.