Site icon Franky's Web

Exchange 2019: Setting up a hybrid environment (part 5)

The Exchange 2019 Hybrid environment has already been Part 4 set up. I actually wanted to go into more detail about migration batches in this article, but decided against it. The migration batches and their options are usually only relevant in larger environments. In smaller environments, migration batches can be easily managed via the Exchange Online Admin Center. Only when there are many mailboxes do you need to think about scripts, migration endpoints and CSV files.

Ich nehme an, dass die Meisten welche diese Artikelserie lesen, eine überschaubare Anzahl von Postfächern zu Microsoft 365 migrieren wollen. Auch wollen wahrscheinlich die wenigsten dauerhaft eine Hybrid Umgebung betreiben, sondern komplett zu Microsoft 365 migrieren. In diesem letzten Artikel zur Exchange 2019 Hybrid Umgebung geht es daher um Notwendigkeit des „letzten Exchange Servers“ und ein paar Besonderheiten, welche beachtet werden müssen. Es wird dann noch einen weiteren Artikel geben: Exchange 2019 Hybrid zu Cloud Only (also den Abbau der Hybrid Umgebung hin zu Microsoft 365 ohne Exchange Hybrid).

Migration Batches

The migration batches can be used to plan the migration of mailboxes quite well. It should be noted that the user is prompted to restart Outlook after the mailbox has been moved. So that users are not inconvenienced by an Outlook restart in the middle of the day, the completion of the migration batches can be scheduled and postponed to the weekend, for example:

If you want to include a large number of mailboxes in a migration batch, you do not have to select and add each mailbox manually. A CSV file can be used to conveniently split the mailboxes into different batches and automate the migration of the data.

Mit dem folgenden Befehl lässt sich beispielsweise eine CSV–Datei mit allen Postfächern erzeugen:

get-mailbox -ResultSize unlimited | Select-Object -Property @{Name = 'EmailAddress'; Expression = {$_.PrimarySmtpAddress}} | Export-Csv c:\install\batch.csv -NoTypeInformation

If necessary, the mailboxes can also be filtered along the way, or the CSV file can be edited with an editor.

The CSV files for the migration batches can also be created via the Exchange Admin Center:

Nur das Attribut „E-Mail-Adresse“ ist hier erforderlich:

In der per Exchange Admin Center erstellen CSV muss allerdings die erste Zeile einmal nach „EmailAddress“ geändert werden:

AADConnect and the last Exchange Server

Das Thema AADConnect und der letzte Exchange Server ist schon recht alt und sorgt immer noch für Frust. Eigentlich handelt es sich um ein recht banales Problem, welches aber leider immer noch nicht durch Microsoft gelöst wurde (Stand Dezember 2021). Das Problem ist folgendes: Wenn AADConnect zur Synchronisation der lokalen AD Konten zu Azure Active Directory verwendet wird, ist das lokale Active Directory das „führende System“.

The big problem

Certain changes to the objects synchronized via AAConnect (e.g. groups and user accounts) must be made in the local AD and cannot be changed in Azure Active Directory. For example, changing or adding an e-mail address to a mailbox is not possible in Exchange Online, but only in the local AD. If, for example, an attempt is made to add an email address in Exchange Online to a user synchronized via AADConnect, this is not possible and the following error message appears:

In this case, the new e-mail address for the mailbox must be added to the local Exchange server (or in the local AD):

Das Hinzufügen der Adresse ist eigentlich nur eine Änderung am lokalen AD-Attribut „ProxyAddresses“, diese Änderung wird dann mittels AADConnect zu AzureAD synchronisiert und Exchange Online kann die neue Adresse nutzen.

The consequence of the problem

Um beispielsweise eine E-Mail Adresse zu einem mittels AADConnect synchronisiertem Benutzerkonto hinzuzufügen, wird ein lokaler Exchange Server als „GUI“ oder „Verwaltungs Exchange Server“ benötigt. Ohne den lokalen Exchange Server fehlt es schlicht an der Möglichkeit via Exchange Management Shell oder Exchange Admin Center eine E-Mail Adresse hinzuzufügen. Auch wenn schon alle Postfächer zu Microsoft 365 migriert wurden, wird also ein letzter Exchange Server zur Verwaltung der Exchange Online Postfächer benötigt, einfach aus dem Grund, weil die Änderung im on-Prem AD stattfinden muss und erst dann vom lokalen AD mittels AADConnet zu AzureAD übertragen wird.

Now you could come up with the idea of simply changing the attribute directly in the local AD, without Exchange Shell or Exchange Admin Center. However, this is exactly what Microsoft does not support. In practice, this is also likely to be quite cumbersome, as it is not just about the mail addresses, but also about many other settings. Who knows exactly which attribute is responsible for which setting and what the exact syntax is?

So as long as AADConnect is in use and local AD accounts are synchronized to AzureAD, a lone local Exchange server is needed to manage the settings. Exactly this problem has been on Microsoft's roadmap for some time (years), but has not yet been solved.

By the way: Mit Exchange 2016 brachte der Hybrid Configuration Wizard aus genau diesem Grund eine kostenlose Exchange 2016 Lizenz mit. Bedingung ist: Der lokale Exchange Server darf keine Postfächer mehr speichern, also nur noch der Verwaltung dienen. Dafür wurde aber immerhin keine Exchange Server Lizenz mehr fällig. Mit Exchange 2019 wurde dies wieder geändert: Auch der letzte Exchange Server, der nur noch der Verwaltung dient, muss lizensiert sein. Ein „Einsamer Exchange 2019 Hybrid Verwaltungsserver ohne Postfächer“ benötigt eine Exchange Server Lizenz.

In order to enable the administration of mailboxes in the Exchange Online Admin Center, the synchronization of user accounts via AADConnect must be abandoned.

What happens next?

Von einer Hybrid Umgebung hin zu „Cloud Only“ ist es nicht mehr weit. Im nächsten Artikel geht es daher um den Rückbau der Hybrid Umgebung, der Abschaltung von AAD Connect und der Deinstallation des letzten Exchange Servers.

Exit mobile version