Azure AD User und Mailbox fehlen im On-Premises Active Directory

Ein Kunde von uns hat sich dazu entschieden, die On-Premises Exchange Infrastruktur nach Office365 auszulagern. Demnach wurden alle Postfächer in die Cloud transferiert, bei einigen sind allerdings ein paar Probleme aufgetaucht. Unter anderem gab es Postfächer, welche ausschließlich in der Cloud vorhanden waren. Selbst der AD-Benutzer existierte nur im Azure Active Directory, im On-Premises AD allerdings nicht. Es ist allerdings fundamental, dass die lokale Infrastruktur alle Benutzer und auch Postfächer kennt, denn einige Attribute lassen sich ausschließlich lokal setzen und bearbeiten. Um dieses Malheur aufzulösen, muss der Benutzer erst ins lokale AD integriert werden. Anschließend muss man am On-Premises Exchange eine Remote Mailbox für den User erstellen.

 

Azure User ins lokale AD synchronisieren

Der erste Schritt besteht darin, dem lokalen Active Directory beizubringen, dass der Azure User existiert. Da der Azure AD Sync ausschließlich Benutzer in die Cloud synchronisieren kann, in die andere Richtung allerdings nicht (ausgenommen bestimmte Attribute), müssen wir uns an einem kleinen Trick bedienen. Vielleicht habt ihr auch schon einmal etwas von einem Hard- und Soft-Match gehört. Dabei handelt es sich grundsätzlich um jene Methode, wie die Office365 und lokalen User erkannt und miteinander verknüpft werden.

Hard Matching

In neueren Versionen vom Azure AD Connect (ab 1.1.553.0) wird dafür das AD-Attribut „mS-DS-ConsistencyGUID“ herangezogen. Dieser Eintrag ist einmalig und bleibt auch über AD Cross Forest Migrationen hinweg immer gleich. Von daher kann der Sync relativ einfach feststellen: Besitzt der lokale AD-User die gleiche „mS-DS-ConsistencyGUID“ wie der Azure AD User, handelt es sich dabei um einen Match und das Objekt kann eindeutig miteinander verknüpft werden. Wer sich in dieses Thema genauer einlesen möchte, dem kann ich folgende Artikel ans Herz legen:

Soft Matching

Doch wie kann man zwei Objekte miteinander verknüpfen, welche nicht die gleiche „mS-DS-ConsistencyGUID aufweisen? In diesem Fall kommt der Soft-Matching Mechanismus ins Spiel. Hierbei wird der UserPrincipalName (UPN) und die E-Mail Adresse des Benutzers gefiltert. Gibt es einen Match zwischen einem lokalen und einem User in der Cloud, werden beide Objekte miteinander verknüpft. Und genau das machen wir uns zu Nutze.

Da wir nun die grundlegenden Mechanismen geklärt haben, können wir den Azure AD User im lokalen Active Directory erstellen. Wichtig ist dabei, dass wir Namen und PrimarySMTPAdresse genau so, wie sie in der Cloud verwendet wurden, übernehmen. Wichtig ist auch, dass das neu gesetzte lokale Passwort jenes in der Cloud überschreibt. Anschließend können wir den nächste Sync abwarten oder wir starten eine Powershell am Host, wo auch der Azure AD Connect läuft und führen folgenden Befehl aus:

Start-ADSyncSyncCycle -PolicyType Delta

 

Somit wurde der Sync manuell gestartet, nach wenigen Minuten sollte man das Azure AD aufsuchen und prüfen, ob nun der Wert vom Attribut „Verzeichnis synchronisiert“ auf „Ja“ gesprungen ist.

 

Außerdem kann man sich noch das Überwachungsprotokoll anschauen, in welcher jede Änderung, die der Azure Sync hervorgerufen hat, protokolliert wird.

 


RemoteMailbox für User erstellen

Mittlerweile wurde die Verknüpfung hergestellt, doch unser On-Premises Exchange kennt das Postfach des Users noch immer nicht. Damit wir diese Verbindung auch noch wiederherstellen, brauchen wir einmal eine Powershell zum Exchange Online Server und einmal die Management Shell am lokalen Exchange.

Wie man eine Verbindung mit dem Exchange Online mittels Powershell herstellen kann, kann man übrigens hier nachlesen: Connect to Exchange Online PowerShell

Zuerst brauchen wir die ExchangeGUID und ArchiveGUID (falls Archiv vorhanden) von der Cloud Mailbox. Dazu öffnen wir die Powershell und führen folgenden Befehl aus:

PS C:\Users\kschweiger> Get-Mailbox user.cloud | select Name, ExchangeGUID, ArchiveGUID

Name       ExchangeGuid                         ArchiveGuid
----       ------------                         -----------
user.cloud 594fd053-1f81-4ad0-bc89-9f144c5a5183 de702a74-29dd-46d8-a712-0d033e56a69c

 

Anschließend wechseln wir auf die Management Shell und erstellen zu aller erst eine Remote Mailbox für den lokalen AD-User. Dabei wird der Benutzer als MailUser im AD angelegt und eine Verknüpfung zwischen On-Premises und Exchange Online hergestellt. Die RemoteRoutingAddress muss dabei natürlich durch die jeweilige Organisationsdomäne ersetzt werden.

Enable-RemoteMailbox user.cloud -RemoteRoutingAddress user.cloud@deinedomain.mail.onmicrosoft.com
Zu guter Letzt setzt man für den lokalen MailUser noch die ExchangeGUID und ArchiveGUID und triggert erneut den Azure AD Sync.
Set-RemoteMailbox user.cloud -ExchangeGuid 594fd053-1f81-4ad0-bc89-9f144c5a5183 -ArchiveGuid de702a74-29dd-46d8-a712-0d033e56a69c

 

Auch hier kann man wieder sehr gut das Überwachungsprotokoll im Azure Active Directory Admin Center zur Kontrolle heranziehen.

You may also like...

Abonnieren
Benachrichtige mich bei
guest
0 Comments
Inline Feedbacks
View all comments
0
Hinterlass' doch deine Meinung zu diesem Artikelx