IMAP-Migration via Powershell
Per GUI ist das super simple. Aber nun wollen wir per Powershell von einem IMAP-Server alle Mails zu Microsoft 365 umziehen.
Vorbereiten der CSV
Wir brauchen eine CSV mit den folgenden Kopfzeilen:
EmailAddress,UserName,Password
ms365@tino-ruge.de,imap@tino-ruge.de,DasK3nnw0rt
Code language: CSS (css)
Erste Spalte ist der Name des MS365-Benutzers, in den die Mail gedumpt werden soll. Zweite Spalte ist der IMAP-Anmeldename. Dritte Spalte ist das IMAP-Kennwort.
Der IMAP-Name kann von der E-Mail abweichen; hier ist das z.B. der Fall. Er kann aber auch identisch sein. Ist für die Migration egal, Microsoft schluckt beides.
Die CSV speichern wir in unserem Beispiel in C:\csv.txt
– und nutzen wir erst später wieder.
Verbinden zum Exchange Online
Aufmerksame Leser kennen es bereits – Powershell und
Connect-ExchangeOnline
Erstellen des Migrationsendpunktes
Damit der Exchange Online blickt, woher die Mails kommen, müssen wir erst den Endpunkt anlegen. Mit folgendem Befehl (in diesem Beispiel IONOS) testen wir rum, ob das passt:
Test-MigrationServerAvailability -Imap -RemoteServer imap.ionos.de -Port 993 -Security Ssl
Code language: CSS (css)
Wenn das passt, bekommen wir folgende Ausgabe:
RunspaceId : ...........
<strong>Result : Success</strong>
Message :
SupportsCutover : False
ErrorDetail :
TestedEndpoint : imap.ionos.de
IsValid : True
Identity :
ObjectState : New
Code language: PHP (php)
Wenn es nicht passt, ist Result
auf Failed
.
Nachdem wir ausreichend rumgespielt haben, bis das passt (Security
kann z.B. auch Tls
sein) registrieren wir den Endpunkt:
New-MigrationEndpoint -IMAP -Name IONOS -RemoteServer imap.ionos.de -Port 993 -Security Ssl
Code language: CSS (css)
Und damit weiß der Exchange Online, wie er auf den IMAP-Server von IONOS zugreift.
Start der Migration
Der Befehl zum Starten der Migration lautet wie folgt:
New-MigrationBatch -Name "IONOS-Migration" -SourceEndpoint "IONOS" -CSVData ([System.IO.File]::ReadAllBytes("C:\csv.txt")) -AutoStart
Code language: PHP (php)
Nun können wir uns entspannt einen Kaffee holen und abwarten.
Beobachten im Exchange Online Admin-Center
Die Migration können wir übrigens auch im Exchange Online Admin-Center einsehen:
Da hätten wir sie auch erstellen können, aber darum geht es hier ja nicht.
Löschen des Jobs
Macht folgender Befehl:
Remove-MigrationBatch -Identity "IONOS-Migration"
Code language: JavaScript (javascript)