In einem aktuellen Kundenprojekt ergab sich eine besondere Herausforderung, deren Lösung wir hier gerne öffentlich dokumentieren.

Ausgangslage
Ausgangslage: es besteht ein Active Directory (AD), ein Office 365 bzw. Azure Tenant, für die Synchronisation der on-premise Active Directory Benutzerkonten nach Azure wird die Microsoft-Synchronisationslösung Azure AD Connect (AADConnect) eingesetzt. Beim Einrichten der AADConnect-Lösung wurden dem zugehörigen Synchronisierungsaccount bestimmte Rechte auf die vorhandenen Domains eingeräumt, z.B. Leserechte auf diverse Domain-Objekte (Benutzerkonten, Gruppen, Kontakte usw.). Nun wird im bestehenden Active Directory eine neue Domain erstellt und auch von dieser neuen Domain sollten Benutzerkonten und weitere Objekte nach Office 365 synchronisiert werden. Allerdings besitzt das Synchronisationskonto per default keine Rechte an der neuen Domain, wie kann das gelöst werden? Beim Durchklicken des AADConnect-Assistenten wird zwar die neue Domain angezeigt, aber es erscheint gleichzeitig ein Warnhinweis, dass für die neue Domain noch die entsprechenden Zugriffsrechte zu setzen sind.
Screenshot: Starten des AADConnect-Synchronisationsoptionen-Assistent:

Anmelden mit einem berechtigten Konto (Globaler Administrator in Office 365), anschließend liest der AADConnect-Assistent die bestehende Konfiguration sowie weitere Daten und Einstellungen ein, u.a. auch die vorhandenen Domänen:

Als nächstes erfolgt der Schritt „Verbinden der Verzeichnisse“, hier ist i.d.R. nichts zu ändern, es sein denn, es wird eine neue Active Directory Gesamtstruktur (Forrest) erstellt; in unserem Beispiel wurde aber (nur) eine neue Domäne im vorhandenen Forest erstellt; deshalb in diesem Schritt einfach auf „Next“ klicken.

Im nächsten Schritt können die zu synchronisierenden Domänen bzw. Organisationseinheiten (OU‘s) spezifiziert werden: die neue Domäne wird noch nicht angezeigt:

Nach einem Klick auf „Refresh Domains“ werden neu erstellte Domänen angezeigt:

Und am unteren Rand des Fensters erscheint der Hinweis, dass ein Enterprise Administrator dem Synchronisierungskonto die benötigten Rechte für den Zugriff auf die neue Domäne geben muss. Und es wird ein „Learn more“ Link angezeigt: https://go.microsoft.com/fwlink/?linkid=853948 (Azure AD Connect: Konfigurieren der Azure AD-Connector-Kontoberechtigungen); hier wird u.a. ein PowerShell-Modul namens ADSyncConfig.psm1 beschrieben, das eine Sammlung von Cmdlets enthält, die beim Konfigurieren der richtigen Active Directory-Berechtigungen für AADConnect-Synchronisierung unterstützen (dazu später mehr).
Beim Klick auf das ? rechts von „Refresh Domains“ erscheint ein „NEW DOMAIN“ Hinweis bzgl. den zu setzenden Rechten:

Hier kann der AADConnect-Assistent abgebrochen werden, denn es müssen zuerst die notwendigen Rechte gesetzt werden. Leider lassen sich diese Rechte nicht per AADConnect setzen.
Für das vereinfachte Setzen dieser Berechtigungen hat Microsoft eine PowerShell Cmdlet-Sammlung erstellt, die über das vorgenannte ADSyncConfig.psm1 Modul bereitgestellt werden.
Wem müssen diese Berechtigungen erteilt werden? Dem AD DS Connector Konto. Dieses Konto ist eines von drei Konten, die i.d.R. beim AADConnect eingesetzt werden. Eines dieser Konten ist für den Zugriff auf die SQL-Datenbank zuständig, eines für den Zugriff auf Azure AD und das AD DS Connector Konto für den Zugriff auf das on-premise Active Directory.
Das AD DS-Connector-Konto besitzt die folgenden Berechtigungen (Details: https://docs.microsoft.com/de-de/azure/active-directory/hybrid/reference-connect-accounts-permissions):
- Verzeichnisänderungen replizieren, Verzeichnisänderungen replizieren: Alle
- Alle Eigenschaften lesen/schreiben: Benutzer
- Alle Eigenschaften lesen/schreiben: iNetOrgPerson
- Alle Eigenschaften lesen/schreiben: Gruppe
- Alle Eigenschaften lesen/schreiben: Kontakt
- Kennwort zurücksetzen
Dieses AD DS Connect Konto wird vom AADConnect Express-Setup im on-premise Active Directory erstellt und berechtigt. Dieses Konto dient zum Lesen und Schreiben von Verzeichnisinformationen während der Synchronisierung. Das benutzerdefinierte Setup setzt ebenfalls die Berechtigungen für das AD DS Connect Konto. Neben den üblichen AD-Berechtigungen gibt es noch weitere Berechtigungen, die davon abhängen, ob und welche weitere Funktionen Sie im AADConnect aktivieren (beispielsweise Exchange-Hybrid oder Password-WriteBack oder Password-Hash etc.).
Falls dieses AD DS Connect Konto nicht mehr präsent ist, kann es mit einem PowerShell Cmdlet ermittelt werden. Wie bereits geschrieben, werden die entsprechenden PowerShell Cmdlets über ein PowerShell Modul bereitgestellt. Dieses Modul wurde im August 2018 bereitgestellt; es befindet sich auf dem Server, auf dem das AADConnect installiert wurde, im Verzeichnis C:\Program Files\Microsoft Azure Active Directory Connect\AdSyncConfig\. Um die im Modul enthaltenen Cmdlets verwenden zu können, muss dieses Modul geladen werden. Nähere Informationen zu diesem Modul finden sie unter:
Azure AD Connect: Konfigurieren der Azure AD-Connector-Kontoberechtigungen: https://docs.microsoft.com/de-de/azure/active-directory/hybrid/how-to-connect-configure-ad-ds-connector-account
Das ADSyncConfig-Modul erfordert die Remoteserver-Verwaltungstools (RSAT) für AD DS; falls die noch nicht installiert sind, können sie per „Install-WindowsFeature RSAT-AD-Tools“ installiert werden. Alternativ könnte dieses PowerShell Modul auch auf einen Domain Controller kopiert werden, der die RSAT Tools bereits installiert hat.
Laden des „ADSyncConfig.psm1“ PowerShell-Moduls (per Windows PowerShell):
Import-Module „C:\Program Files\Microsoft Azure Active Directory Connect\AdSyncConfig\AdSyncConfig.psm1“
Prüfen, ob die neuen Cmdlets verfügbar sind:
Get-Command -Module AdSyncConfig

Eine Referenz zu den ADSyncConfig PowerShell-Cmdlets finden sie unter:
https://docs.microsoft.com/de-de/azure/active-directory/hybrid/reference-connect-adsyncconfig
Und hier das Cmdlet zum Ermitteln des AD DS Accounts:
Get-ADSyncADConnectorAccount

Dieser Account beginnt i.d.R. mit MSOL_
Nun kommen wir zum Setzen der notwendigen Berechtigungen an der neuen Domain. Wichtig: die entsprechende PowerShell als Enterprise Admin starten, denn es werden die Domain Admin Rechte für jede der beteiligten Domains benötigt. Zuerst werden die Basis-Rechte gesetzt, anschließend die optionalen Berechtigungen:
Für die nachfolgenden Cmdlets werden zwei Attribute benötigt:
- ADConnectorAccountName: das AD DS Connector Konto, es fängt i.d.R. mit MSOL_ an, ersetzen sie unseren Beispieleintrag MSOL_12345678k9 bitte durch ihren Kontonamen
- ADConnectorAccountDomain: Name der Domain, in der sich das AD DS Connector Konto befindet; ersetzen sie bitte unsere Beispieldomain domain.local durch ihren Domainnamen
Basis-Leserechte des AD DS Connector Kontos bei der neuen Domain setzen:
- Set-ADSyncBasicReadPermissions -ADConnectorAccountName ‚MSOL_123456789‘
-ADConnectorAccountDomain ‚Domain.local‘- Erläuterung: Dieses Cmdlet setzt die Berechtigungen für Benutzer-, Gruppen-, Kontakte- und InetOrgPerson-Objekte
Falls Attribut „ms-Ds-Consistency-Guid“ als Synchronisations-Quellanker verwendet wird (auch bekannt als Option „Ich möchte den Quellanker durch Azure verwalten lassen), dann das folgende Cmdlet ausführen:
- Set-ADSyncMsDsConsistencyGuidPermissions -ADConnectorAccountName ‚MSOL_123456789‘
-ADConnectorAccountDomain ‚local‚- Dieses Cmdlet gibt dem AD DS Sync Account Schreib-/Leserechte auf das mS-DS-ConsistencyGuid Attribut
Falls eine Kennworthashsynchronisierung verwendet wird, das folgende Cmdlet ausführen:
- Set-ADSyncPasswordHashSyncPermissions -ADConnectorAccountName ‚MSOL_1234567890‘
-ADConnectorAccountDomain ‚Domain.local‚- Dieses Cmdlet setzt Berechtigungen des AD DS Accounts für das Replizieren von Verzeichnisänderungen
Falls das Kennwortrückschreiben verwendet wird, das folgende Cmdlet ausführen:
- Set-ADSyncPasswordWritebackPermissions -ADConnectorAccountName ‚MSOL_1234567890‘
-ADConnectorAccountDomain ‚local‚- Dieses Cmdlet setzt die Berechtigungen des AD DS Connector Kontos für das Kennwort zurücksetzen und die zugehörigen Attribute (LockoutTime, pwsLastSet)
Falls das Gruppenrückschreiben verwendet wird, folgendes ausführen:
- Set-ADSyncUnifiedGroupWritebackPermissions -ADConnectorAccountName ‚MSOL_1234567890‘ -ADConnectorAccountDomain ‚local‚
- Dieses Cmdlet setzt Berechtigungen des AD DS Connector Kontos für das Lesen, Schreiben, Erstellen und Löschen von Objekten
Falls im AADConnect die Exchange-Hybridbereitstellungsoption verwendet wird, das folgendes ausführen:
- Set-ADSyncExchangeHybridPermissions -ADConnectorAccountName ‚MSOL_1234567890‘
-ADConnectorAccountDomain ‚local‚
Falls Public Folder Berechtigungen synchronisiert werden, dies ausführen:
- Set-ADSyncExchangeMailPublicFolderPermissions -ADConnector