Exchange gesamtstrukturübergreifende Verschiebungen Linksammlung
Aus znilwiki
Vorwort
Ich hatte 2 Domänen mit einer gegenseitigen Vertrauensstellung zueinander.
Die Benutzer habe ich mittels des ADMT-Tools (Active Directory Migration Tool) bereits zur Zieldomäne kopiert.
Mit den nachfolgenden Links (in der Reihenfolge) gelang auch das Verschieben der Postfächer.
Reihenfolge
- Benutzer per ADMT in neue Domäne migriert
- Benutzer per Exchange-Management-Konsole vorbereitet (auf dem Ziel-Server):
Enable-MailUser -Identity ANMELDENAME -ExternalEmailAddress BENUTZER@DOMAIN.SUFFIX
- Prepare-MoveRequest vorbereiten (auf dem Ziel-Server) - er fragt Anmeldedaten für die Ziel und Quelldomäne ab
$LocalCredentials = Get-Credential $RemoteCredentials = Get-Credential
- In das Exchange-PowerShell Verzeichnis wechseln (hier 2016/2019) (auf dem Zielserver):
cd C:\Program Files\Microsoft\Exchange Server\V15\Scripts
- Prepare-Moverequest ausführen - das
-UseLocalObject
ist wichtig damit er keinen neuen Benutzer anlegt sondern den vorhandenen nimmt!
.\Prepare-MoveRequest.ps1 -UseLocalObject -Identity ANMELDENAME -RemoteForestDomainController DC.alte.domain -RemoteForestCredential $RemoteCredentials -LocalForestDomainController dc.neue.domain -LocalForestCredential $LocalCredentials
- Nun kann man über die Managementoberfläche eine neue Migration starten:
- Bei Zu verschiebene Benutzer auswählen könnt Ihr nun jene Benutzer hinzufügen bei denen Ihr zuvor den
Prepare-MoveRequest
ausgeführt habt. - Den Migrationsendpunkt sollte er von alleine finden - Wenn nicht dann folgt den beiden MRS-Proxy aktivieren Links im nächsten Abschnitt
- Bei der Zielzustellungsdomäne habe ich immer die Domäne der Absenderadresse ausgewählt - keine Ahnung ob das richtig ist
- Nun warten. Der verschiebt jetzt das Postfach. Am Ende hat der Benutzer in der alten Domäne keine Postfach mehr (Mailbox disabled)
Ich hatte dann das es bei ein paar Benutzern ging - und dann wurden die ersten Abgeschlossen mit Fehlern.
Die hatten dann nicht geklappt. Grund war das zu große Mails vorhanden waren oder zu viele Fehler.
Diese Postfächer bekam ich dann aber mit PowerShell verschoben:
New-MoveRequest -Identity Mmustermann@domain.local -RemoteCredential $RemoteCredentials -TargetDeliveryDomain 'domain.local' -RemoteGlobalCatalog DC.alte-domain -Remote -RemoteHostName FQDN.alter.mailserver -TargetDatabase NAME-der-ZIELDATENBANK -BadItemLimit 20000 -AcceptLargeDataLoss -LargeItemLimit 20000
Den -AcceptLargeDataLoss
kann man nur in der PowerShell nutzen.
Man kann dann baer nicht über die Web-GUI den Fortschritt sehen, das geht über die PowerShell:
Zuerst die Identity des Job heruasfinden:
Get-MoveRequest | Select-Object Identity
Ausgabe ist zum Beispiel:
domain.local/04.Benutzer/Mustermann, Max
Und damit dann die Statistiken abfragen:
Get-MoveRequest -Identity "domain.local/04.Benutzer/Mustermann, Max" | Get-MoveRequestStatistics -IncludeReport
Wenn zu hängen scheint oder einen Fehler gibt:
Get-MoveRequest -Identity "domain.local/04.Benutzer/Mustermann, Max" | Get-MoveRequestStatistics -IncludeReport | fl
Dann sieht man unter anderem die genauen Migrationsschritte
Fehlermeldungen und die Lösungen
Error looking up source MBX
D:\Program Files\Microsoft\Exchange Server\V15\Scripts\Prepare-MoveRequest.ps1 : Error looking up source MBX derbenutzerderverschobenwerdensool in source forest.
Verdammt, bei 20 Bneutzern funktioniert es - und bei einem dann nicht?
Die Lösung war:
- Ich hatte bei
-Identity
immer den Anmeldename genutzt - und das hat bei 95 Prozent der Benutzer auch funktioniert. - Bei den Benutzern mit der Fehlermeldung nam ich statt dessen den
Alias
bzw. den Wert aus dem AD-AttributmailNickname
- statt mmustermann also max.mustermann
- In der Quelldomäne war das leider nicht einheitlich gesetzt
Wie bin ich drauf gekommen?
Ich habe mir mal den Quelltext des Prepare-MoveRequest.ps1
angesehen und dabei entdeckt das eben dieser Alias bzw mailNickname eines der Suchkriterien ist.
Links
- Allgemein: https://docs.microsoft.com/de-de/exchange/architecture/mailbox-servers/prep-mailboxes-for-cross-forest-moves?view=exchserver-2019
- Postfach/Konto vorbereiten: https://docs.microsoft.com/de-de/exchange/architecture/mailbox-servers/prep-mailboxes-for-cross-forest-moves-in-powershell?view=exchserver-2019
- MRS-Proxy aktivieren: https://docs.microsoft.com/de-de/exchange/architecture/mailbox-servers/mrs-proxy-endpoint?view=exchserver-2019
- und den MRS-Proxy neu starten damit der auch wirklich funktioniert: https://tech.xenit.se/exchange-online-mailbox-move-unable-to-connect-to-remote-mrs-proxy-server/
Tipps
Die AutoDiscover-Namensauflösung vom Ziel- zum Quell-Exchangeserver muss funktionieren! Da die beiden Server hierbei miteinander konkurierten habe ich auf dem Ziel-Exchange temporär Einträge dafür in die lokale Host-Datei geschrieben (AutoDiscover nicht auf sich selbst sondern auf den anderen Exchange Server der Quell-Domäne = alten Domäne).