W środowisku firmowym, gdzie użytkownicy korzystają zarówno z lokalnego Active Directory (AD), jak i z usług chmurowych Microsoft 365 (Azure AD), może dojść do sytuacji, w której użytkownicy mają dwa różne konta – jedno w AD, a drugie w Azure AD. Takie rozdzielenie może powodować problemy z logowaniem, brak jednolitych poświadczeń oraz utrudnioną administrację IT.
W tym artykule pokażemy, jak poprawnie połączyć istniejące konto w Azure AD z lokalnym kontem AD, tak aby użytkownik mógł korzystać z jednego zestawu poświadczeń do logowania zarówno do lokalnych systemów, jak i usług Microsoft 365 (np. Outlook, Teams, SharePoint, OneDrive).
🔹 Scenariusz Problemu
Pracownik Jan Kowalski korzysta z dwóch różnych kont:
1. Lokalne konto AD:
• Używane do logowania do firmowego komputera.
• Nazwa użytkownika: jkowalski@firma.local
• Uwierzytelnianie w Windows Server AD.
2. Konto w Microsoft 365 (Azure AD):
• Używane do poczty e-mail i aplikacji chmurowych.
• Nazwa użytkownika: jan.kowalski@firma.pl
Po wdrożeniu synchronizacji AD z Azure AD, powstało drugie konto w Azure AD (jkowalski@firma.onmicrosoft.com), co spowodowało:
• Rozdzielenie konta użytkownika (oddzielne konta w AD i Microsoft 365).
• Brak synchronizacji haseł – użytkownik ma inne hasło do komputera i inne do poczty.
• Problemy z logowaniem do aplikacji Microsoft 365.
Celem jest połączenie obu kont i zapewnienie jednolitych poświadczeń.
🟢 Krok 1: Sprawdzenie Kont w Azure AD
Najpierw sprawdzamy, czy użytkownik ma dwa różne konta w Azure AD – jedno powiązane z AD (@firma.onmicrosoft.com), a drugie istniejące wcześniej (@firma.pl).
1. Połącz się z Microsoft Online PowerShell:
Connect-MsolService
2. Sprawdź, czy użytkownik ma dwa konta w Azure AD:
Get-MsolUser -UserPrincipalName "jan.kowalski@firma.pl" | Select-Object UserPrincipalName, ImmutableId, Licenses
Get-MsolUser -UserPrincipalName "jkowalski@firma.onmicrosoft.com" | Select-Object UserPrincipalName, ImmutableId, Licenses
Jeśli oba konta istnieją, należy usunąć konto @onmicrosoft.com.
🟢 Krok 2: Usunięcie Nadmiarowego Konta w Azure AD
Jeśli konto jkowalski@firma.onmicrosoft.com istnieje w Azure AD, usuń je, aby uniknąć konfliktów.
1. Usuń konto z Azure AD:
Remove-MsolUser -UserPrincipalName "jkowalski@firma.onmicrosoft.com" -Force
2. Usuń konto z kosza (Recycle Bin):
Remove-MsolUser -UserPrincipalName "jkowalski@firma.onmicrosoft.com" -RemoveFromRecycleBin -Force
3. Sprawdź, czy konto zostało usunięte:
Get-MsolUser -UserPrincipalName "jkowalski@firma.onmicrosoft.com"
Jeśli konto zostało pomyślnie usunięte, PowerShell zwróci błąd „User not found”.
🟢 Krok 3: Pobranie ImmutableId z Active Directory
Microsoft 365 identyfikuje użytkowników na podstawie unikalnego ImmutableId, który jest konwersją GUID konta w AD.
1. Sprawdź ObjectGUID użytkownika w lokalnym Active Directory:
Get-ADUser -Identity "jkowalski" -Property ObjectGUID
Oczekiwany wynik:
ObjectGUID : 6f9619ff-8b86-d011-b42d-00cf4fc964ff
2. Konwertuj ObjectGUID na ImmutableId:
$ObjectGUID = (Get-ADUser -Identity "jkowalski" -Property ObjectGUID).ObjectGUID.ToByteArray()
$ImmutableId = [System.Convert]::ToBase64String($ObjectGUID)
$ImmutableId
Oczekiwany wynik:
ImmutableId : ZvkZ/4uG0BG0LQDP2/IlTw==
🟢 Krok 4: Przypisanie ImmutableId do Użytkownika w Azure AD
Teraz przypisz wygenerowane ImmutableId do konta w Azure AD (jan.kowalski@firma.pl).
1. Wykonaj polecenie:
Set-MsolUser -UserPrincipalName "jan.kowalski@firma.pl" -ImmutableId "ZvkZ/4uG0BG0LQDP2/IlTw=="
2. Sprawdź, czy ImmutableId zostało poprawnie przypisane:
Get-MsolUser -UserPrincipalName "jan.kowalski@firma.pl" | Select-Object UserPrincipalName, ImmutableId
Jeśli ImmutableId jest poprawne, konto jest gotowe do synchronizacji.
🟢 Krok 5: Wymuszenie Synchronizacji Azure AD
Teraz wymuś synchronizację między lokalnym Active Directory a Azure AD.
1. Na serwerze Azure AD Connect:
Start-ADSyncSyncCycle -PolicyType Delta
2. Sprawdź, czy synchronizacja zakończyła się sukcesem:
Get-MsolUser -UserPrincipalName "jan.kowalski@firma.pl" | Select-Object UserPrincipalName, LastDirSyncTime
Oczekiwany wynik:
LastDirSyncTime powinno zawierać aktualną datę i godzinę.
🟢 Krok 6: Test Logowania Użytkownika
Po zakończeniu synchronizacji poproś użytkownika Jan Kowalski, aby zalogował się do Microsoft 365:
• Login: jan.kowalski@firma.pl
• Hasło: takie samo, jak w lokalnym Active Directory.
Jeśli użytkownik loguje się poprawnie, oznacza to, że konto AD i Azure AD są połączone.
✅ Podsumowanie
1. Usuń nadmiarowe konto @onmicrosoft.com w Azure AD.
2. Pobierz ObjectGUID użytkownika w lokalnym AD.
3. Przekonwertuj ObjectGUID na ImmutableId.
4. Przypisz ImmutableId do użytkownika w Azure AD.
5. Wymuś synchronizację Azure AD Connect.
6. Sprawdź synchronizację (LastDirSyncTime) i przetestuj logowanie.
💡 Dzięki tej procedurze użytkownik loguje się jednym hasłem do wszystkich usług Microsoft 365 i systemów firmowych. 🎯