Matchen von lokalen AD-Benutzern mit Cloud Only Benutzern in Azure-AD
Oft kommt es vor, dass bereits mit der Verwendung von Office 365 oder Microsoft 365 Anwendungen begonnen wird, obwohl es noch keine ordentliche Implementierung gab. Gerade in Covid-19 Pandemie Zeiten, in denen jeder so schnell wie möglich Teams nutzen möchte kommt es oft vor, dass es bereits lizenzierte und aktive Azure-AD (Cloud Only) Benutzer gibt, bevor es ein AD-Connect gibt, der die Benutzer aus der lokalen Benutzerverwaltung bereitstellt. Nachdem dann der AD-Connect implementiert wird stellt man dann wohl oder übel fest, dass man zwei arten von Benutzern hat.
- Die Cloud Only Benutzer, die zur Nutzung von Teams et cetera im Azure-AD angelegt wurden
- Die bereits länger vorhandenen Benutzer aus dem lokalen Active Directory
Oftmals haben die Benutzer dann zwei verschiedene Benutzernamen und Kennwörter.
Um diese beiden Benutzer nun mit Hilfe des AD-Connect zusammenzuführen gibt es zwei Arten um dies zu bewerkstelligen. Im folgenden beschreibe ich sowohl das Hart- als auch das Softmatchen.
Bei beiden Methoden sind die lokalen Benutzerdaten federführend!
Soft-Matchen der Benutzer
Beim Soft-Matchen der Benutzer wird sich primär am UPN (Benutzerprinzipalnamen/Userprincipalname) des Benutzers und der Primären E-Mail-Adresse im AD-Attribut „proxyAddresses“ orientiert. Sollten Exchange Online mit dem Cloud-Only Benutzer allerdings noch gar nicht verwendet werden müssen die E-Mail-Adressen nicht beachtet werden!
Der erste Schritt ist daher das Abfragen des UPNs der/des Benutzers.
Sobald der UPN, des lokalen AD-Users bekannt sein muss dieser auch im Azure-AD überprüft werden.
Sollte der lokale UPN mit dem Cloud-UPN übereinstimmen kann der Benutzer lokal in den AD-Connect mit aufgenommen werden und synchronisiert werden. Beim synchronisieren sollten dann beide Nutzer zusammengeführt werden.
Sollten die Daten nicht übereinstimmen müssen sie dahingehend angepasst werden.
Sobald Exchange Online durch Nutzer verwendet wird müssen auch die Primären E-Mail-Adressen in beiden Verzeichnissen übereinstimmen. Nur dann werden die entsprechenden Benutzer zusammengeführt!
Hart-Matchen der Benutzer
Das Hart-Matchen ist etwas komplizierter und sollte nur verwendet werden, wenn das Soft-Matchen nicht funktioniert.
Beim Hart-Matchen von Benutzern wird die „objectGUID“ eines lokalen Benutzers konvertiert und anschließend in das „ImmutableID“ Attribut in den entsprechenden Benutzer in Azure-AD eingetragen.
Zunächst muss also die „objectGUID“ des lokalen Benutzers herausgefunden werden. Das funktioniert mit folgendem Befehl:
Get-ADUser -Id "USERNAME" | fl UserPrincipalName,ObjectGUID
Die Ausgabe sollte den UPN des Benutzers enthalten und die ObjectGUID.
Diese objectID (einfacher String) muss nun in die ImmutableID konvertiert werden, da diese base64 codiert ist. Auch dazu kann die PowerShell verwendet werden:
[Convert]::ToBase64String([guid]::New("OBJECTGUID").ToByteArray())
Die Ausgabe sollte dann die fertige ImmutableID enthalten und ähnlich wie folgt aussehen.
Danach muss sich mit dem Azure-AD verbunden werden. Das geht mit dem Powershell Modul „MSOnline“. Sollte dieses noch nicht installiert sein kann das mit dem folgenden Powershell Befehl nachgeholt werden.
Install-Module MSOnline
Danach kann sich mit „Connect-MSOLService“ verbunden werden. Anschließend kann auch schon die ImmutableID des gewünschten Benutzers festgelegt werden. Dazu benötigt man den UPN des Cloud-Benutzers sowie die zuvor konvertierte ImmutableID. Der gesamte Set-Befehl sieht dann wie folgt aus:
Set-MsolUser -UserPrincipalName USERUPN -ImmutableId IMMUTABLEID
Danach kann der lokale Benutzer nochmal durch einen Delta-Sync synchronisiert werden. Dabei sollten der lokale Benutzer und der Cloud Benutzer nun zusammengeführt werden.
Hi und Danke für den Tech-Tipp, leider bekomme ich beim Hart Matchen meiner 2 Benutzer eine Fehlermeldung, hast Du da eine Idee?
„Set-MsolUser : Uniqueness violation. Property: SourceAnchor.
In Zeile:1 Zeichen:1
+ Set-MsolUser -UserPrincipalName XX@XX.de -ImmutableId SaFV1vE0 …
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : OperationStopped: (:) [Set-MsolUser], MicrosoftOnlineException
+ FullyQualifiedErrorId : Microsoft.Online.Administration.Automation.UniquenessValidationException,Microsoft.Onlin
e.Administration.Automation.SetUser“
Hi!
kann es sein, dass es bereits einen User gibt, der die gleiche ImmutableID hat?
Ggf. schau mal im Bereich „gelöschte Benutzer“ im Admin Center oder Azure-AD nach.
Mit folgendem Powershell Befehl kannst du (wenn du mit der MSOL-Powershell verbunden bist) den „User-Papierkorb“ durchsuchen und die ImmutableIDs vergleichen.
Get-MsolUser -ReturnDeletedUsers | fl UserPrincipalName,ImmutableId
Sollte hier ein alter User gelistet werden, der die gleiche ImmutableID hat, wie die, die du versuchst einem anderen user zuzuweisen, dann muss der alte user erst gelöscht werden.
Hier ein passender Befehl dafür:
Remove-Msoluser -UserPrincipalname „<gelöschterBenutzerUPN>“ -RemovefromRecycleBin
Alternativ kannst du ihn natürlich auch via Admin Center oder Azure-AD aus den gelöschten Benutzern löschen.
Ich hoffe das hilft ♂️