Windows LAPS z Intune: dlaczego hasło nie pojawia się w portalu i jak naprawić 7 najczęstszych problemów
Polityka LAPS w Intune pokazuje 'Succeeded', ale zakładka z hasłem jest pusta lub szara? To jeden z najczęstszych problemów po migracji z legacy LAPS. Opisujemy 7 konkretnych przyczyn — od brakującego przełącznika w Entra ID, przez nieaktualne KB na Windows 10, aż po konflikty z legacy LAPS MSI.

Windows LAPS z Intune: dlaczego hasło nie pojawia się w portalu i jak naprawić 7 najczęstszych problemów
TL;DR: Windows LAPS to wbudowana w Windows 10/11 (od kwietnia 2023) funkcja zarządzania hasłami kont lokalnych, która zastępuje legacy LAPS. Integracja z Intune działa inaczej niż GPO — wymaga osobnego włączenia w Entra ID, właściwych RBAC i aktualnych KB. W tym artykule przechodzę przez 7 najczęstszych problemów, które powodują, że LAPS "jest wdrożony", ale nic nie działa — z konkretnymi event ID, poleceniami diagnostycznymi i sposobami naprawy.
Problem
Wdrożyłeś politykę Windows LAPS przez Intune. Polityka pokazuje się jako "Succeeded" w raporcie przypisania. Urządzenia są Entra-joined, zmanagowane przez Intune. Wszystko wygląda dobrze — tylko w widoku urządzenia w Intune Admin Center zakładka "Local admin password" jest szara albo pusta. Zero hasła, zero daty rotacji, zero informacji o koncie.
To jeden z najczęstszych scenariuszy, który pojawia się po migracji z legacy LAPS (MSI + GPO) do nowego Windows LAPS opartego na CSP. Administratorzy widzą politykę jako zastosowaną, ale nie rozumieją, że sama polityka to dopiero połowa wymagań. Drugi problem to środowiska mieszane — część urządzeń na Windows 10 20H2 bez odpowiednich KB, część na Windows 11, część na starszych buildach. LAPS cicho nie działa na urządzeniach, które nie spełniają wymagań, i nie zgłasza tego w sposób oczywisty w konsoli Intune.
Trzeci scenariusz to organizacje, które miały wdrożony legacy LAPS (AdmPwd.dll, GPO, atrybuty w AD) i próbują go zastąpić Windows LAPS przez Intune — nie usuwając przy tym starego rozwiązania. Konflikty polityk, race condition na zarządzanym koncie i nieoczekiwane blokady haseł to efekt, który potrafi napsuć krwi przez kilka godzin.
Dlaczego tak się dzieje
Windows LAPS to nie jest "nowa wersja legacy LAPS". To zupełnie inny mechanizm — oparty na CSP (Configuration Service Provider), a nie na rozszerzeniu GPO (AdmPwd.dll). Kilka rzeczy sprawia, że wdrożenie przez Intune ma pułapki, których nie ma przy GPO:
Wymaganie włączenia funkcji tenant-wide w Entra ID. Dla urządzeń Entra-joined (nie hybrid-joined) Microsoft zablokował możliwość przesyłania haseł LAPS do chmury dopóki globalny przełącznik nie zostanie ustawiony. Polityka Intune trafia na urządzenie, jest procesowana, ale urządzenie nie może zapisać hasła do Entra ID — bo tenant-level feature jest wyłączony. Co ważne: dla Hybrid Entra Join backupujących do on-prem AD ten krok nie jest wymagany.
RBAC w Intune dla LAPS jest bardziej granularne niż się wydaje. Rotacja hasła to osobna akcja Remote tasks: Rotate Local Admin Password, której NIE ma w żadnej wbudowanej roli Intune — nawet w Endpoint Security Manager. Musisz stworzyć custom rolę.
Wymagania systemowe oparte na KB z kwietnia 2023. LAPS CSP nie działa na starych buildach bez konkretnego update'u. Na Windows 10 wymagany jest KB5025221 (build 19042.2846 lub nowszy). Bez tego Windows LAPS CSP jest niewidoczny dla systemu, polityka jest "Success" w Intune, ale na urządzeniu nic się nie dzieje.
Legacy LAPS blokuje Windows LAPS gdy celują w to samo konto. Jeśli na urządzeniu jest zainstalowany AdmPwd.dll i oba mechanizmy próbują zarządzać kontem Administrator, wyniki są nieprzewidywalne. CSP ma pierwszeństwo, ale legacy LAPS może nadpisać hasło zanim LAPS CSP zdąży je zaktualizować.
Rozwiązanie krok po kroku
Krok 1: Włącz Windows LAPS w Entra ID (tylko dla Entra Join)
Jeśli urządzenia są Entra-joined (nie hybrid), musisz włączyć funkcję na poziomie tenanta:
- Otwórz https://entra.microsoft.com jako Cloud Device Administrator
- Przejdź do: Identity → Devices → Overview → Device settings
- Znajdź opcję Enable Local Administrator Password Solution (LAPS) i ustaw na Yes
- Zapisz zmiany
Możesz to zrobić też przez Graph API:
# Sprawdź aktualny stan
$policy = Invoke-MgGraphRequest -Method GET -Uri "https://graph.microsoft.com/beta/policies/deviceRegistrationPolicy"
$policy.localAdminPassword
# Włącz LAPS w Entra
$body = @{
localAdminPassword = @{
isEnabled = $true
}
}
Invoke-MgGraphRequest -Method PATCH -Uri "https://graph.microsoft.com/beta/policies/deviceRegistrationPolicy" -Body ($body | ConvertTo-Json)
Krok 2: Sprawdź i zaktualizuj KB na urządzeniach Windows 10/11
Windows LAPS CSP wymaga aktualizacji z 11 kwietnia 2023:
- Windows 10 20H2/21H2/22H2: KB5025221 (build 19042.2846+)
- Windows 11 21H2: KB5025224 (build 22000.1817+)
- Windows 11 22H2: KB5025239 (build 22621.1555+)
Sprawdź wersję build na urządzeniu:
# Na urządzeniu docelowym
Get-ComputerInfo | Select-Object OsVersion, WindowsVersion, OsBuildNumber
# Zweryfikuj czy LAPS CSP jest dostępny
Get-Item "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\LAPS" -ErrorAction SilentlyContinue
Jeśli klucz rejestru nie istnieje, urządzenie nie ma wymaganego KB i LAPS CSP jest niedostępny — niezależnie od tego co pokazuje Intune.
Krok 3: Zweryfikuj, że konto administratora istnieje
Windows LAPS może zarządzać tylko istniejącym kontem. Na urządzeniach starszych niż Windows 11 24H2, LAPS NIE tworzy kont samodzielnie (Windows 11 24H2 wprowadził Automatic Account Management).
Sprawdź na urządzeniu:
# Lista kont lokalnych
net user
# Sprawdź czy konto Administrator jest włączone
Get-LocalUser -Name "Administrator" | Select-Object Name, Enabled
# Jeśli wyłączone, włącz je
Enable-LocalUser -Name "Administrator"
Jeśli polityka Intune wskazuje konkretną nazwę konta (ustawienie "Name of administrator account to manage"), a konto o tej nazwie nie istnieje — Event ID 10013 w logu LAPS, zero efektu w Intune.
Krok 4: Skonfiguruj politykę LAPS w Intune
W Intune Admin Center: Endpoint Security → Account protection → Create Policy → Windows 10 and later → Local admin password solution (Windows LAPS)
Kluczowe ustawienia:
- Backup directory: Azure Active Directory (dla chmury) lub Active Directory (dla on-prem)
- Password age days: domyślnie 30, rekomendowane 14-30
- Password length: minimum 15 znaków
- Password complexity: 4 (Large letters + Small letters + Numbers + Specials)
- Post-authentication actions:
Reset password and logoff
Krytyczna pułapka: przypisuj politykę do grup urządzeń, nie do grup użytkowników. Przypisanie do grup użytkowników może powodować zmieniające się konfiguracje przy każdym logowaniu nowego użytkownika na urządzenie.
Krok 5: Sprawdź Event Log na urządzeniu
Po wdrożeniu polityki, Event Log jest pierwszym miejscem diagnostyki:
Applications and Services Logs → Microsoft → Windows → LAPS → Operational
Kluczowe Event ID:
| Event ID | Znaczenie |
|---|---|
| 10003 | Start cyklu przetwarzania LAPS |
| 10004 | Cykl zakończony sukcesem |
| 10005 | Cykl zakończony błędem |
| 10013 | Nie znaleziono konta administratora |
| 10025 | Błąd odkrywania Azure endpoint |
| 10026 | Błąd autentykacji urządzenia do Entra (problem z PRT) |
| 10027 | Konflikt polityki haseł |
| 10028 | Błąd zapisu hasła do Entra ID |
| 10059 | HTTP error przy komunikacji z Entra ID |
Krok 6: Wymusz ręczne przetworzenie polityki LAPS
Zamiast czekać na scheduled cycle (LAPS sprawdza co godzinę), możesz wymusić processing:
# Uruchom na urządzeniu jako Administrator
Invoke-LapsPolicyProcessing
# Pobierz diagnostykę
Get-LapsDiagnostics
# Sprawdź stan hasła LAPS dla urządzenia (z maszyny zarządzającej)
Get-LapsAADPassword -DeviceIds "<DeviceId>" -IncludePasswords
Jeśli LAPS jest poprawnie skonfigurowany, po Invoke-LapsPolicyProcessing w ciągu kilku minut powinien pojawić się Event ID 10004 i hasło w portalu Intune/Entra.
Krok 7: Skonfiguruj RBAC dla helpdesku
Rotacja hasła NIE jest dostępna w żadnej wbudowanej roli Intune. Musisz stworzyć custom rolę:
- Intune Admin Center: Tenant administration → Roles → Create
- Dodaj uprawnienia:
- Managed devices: Read
- Organization: Read
- Remote tasks: Rotate Local Admin Password
- Przypisz rolę do grupy helpdesków z zakresem odpowiednich urządzeń
Aby odczytać hasło z Entra ID, potrzebujesz Microsoft Entra roli Cloud Device Administrator lub niestandardowej roli z uprawnieniem microsoft.directory/deviceLocalCredentials/password/read.
Typowe pułapki i edge cases
Pułapka 1: Konflikt legacy LAPS i Windows LAPS na tym samym koncie
Jeśli na urządzeniu nadal jest zainstalowany legacy LAPS MSI i obie polityki celują w konto Administrator, pojawia się race condition. LAPS CSP ma pierwszeństwo, ale legacy LAPS może nadpisać hasło przed synchronizacją do portalu. Migracja wymaga jednoczesnego wyłączenia legacy LAPS GPO i wdrożenia Windows LAPS policy:
# Sprawdź czy legacy LAPS jest zainstalowany
Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\GPExtensions\{D76B9641-3288-4f75-942D-087DE603E3EA}" -ErrorAction SilentlyContinue
# Odinstaluj legacy LAPS MSI
msiexec.exe /q /uninstall {97E2CA7B-B657-4FF7-A6DB-30ECC73E1E28}
Pułapka 2: Windows 11 24H2 Pro nie ma LAPS domyślnie
Windows 11 24H2 Pro edition nie zawiera funkcji LAPS domyślnie — nie zobaczysz ustawień polityki ani event logów LAPS. Dotyczy tylko Pro; Enterprise i Education mają LAPS wbudowany. Sprawdź edycję przed wdrożeniem i planuj osobną ścieżkę dla urządzeń Pro.
Pułapka 3: Usunięcie urządzenia z Entra ID kasuje hasło LAPS bezpowrotnie
Jeśli urządzenie zostanie usunięte z Entra ID (np. podczas cleanup stale devices), hasło LAPS jest tracone na zawsze. Nie ma mechanizmu odtworzenia. Przed każdym cleanup eksportuj hasła:
# Eksport haseł LAPS przed deregistracją urządzeń
$devices = Get-MgDevice -Filter "operatingSystem eq 'Windows'" |
Where-Object { $_.ApproximateLastSignInDateTime -lt (Get-Date).AddDays(-90) }
$devices | ForEach-Object {
$laps = Get-LapsAADPassword -DeviceIds $_.DeviceId -IncludePasswords -ErrorAction SilentlyContinue
[PSCustomObject]@{
DeviceName = $_.DisplayName
DeviceId = $_.DeviceId
Password = $laps.Password
PasswordExpiry = $laps.PasswordExpirationTime
}
} | Export-Csv -Path "laps_backup_$(Get-Date -Format 'yyyyMMdd').csv" -NoTypeInformation
Pułapka 4: Polityka haseł systemu blokuje LAPS (Event ID 10027)
Jeśli lokalna polityka haseł (GPO, Local Security Settings) wymaga np. minimum 20 znaków, a LAPS jest skonfigurowany na 14, LAPS nie może ustawić hasła. Diagnostyka:
net accounts
Rozwiązanie: ustaw długość hasła LAPS na co najmniej równą minimum z polityki domenowej plus margines 2-3 znaków.
Pułapka 5: Post-authentication actions powodują nieoczekiwane wylogowania
Ustawienie Post-authentication actions: Reset password and logoff wymusza wylogowanie po użyciu lokalnego konta admina. Dla helpdesków oczekiwane, ale jeśli admin używa konta do długiej operacji (deployment, serwis), zostanie wylogowany po upływie grace period (domyślnie 24h). Ustaw Post-authentication reset delay (hours) adekwatnie do procesów serwisowych w organizacji.
Podsumowanie
- Windows LAPS przez Intune wymaga trzech prereq przed wdrożeniem: włączenia w Entra ID (dla Entra Join), KB z kwietnia 2023 na wszystkich urządzeniach i istnienia zarządzanego konta lokalnego
- Event ID 10013, 10026, 10028 to trzy najczęstsze błędy — każdy ma inną przyczynę i osobne rozwiązanie
- Migracja z legacy LAPS: wyłącz stare GPO i wdróż nową politykę jednocześnie — nie sekwencyjnie
- Rotacja haseł przez helpdesk wymaga custom roli Intune z uprawnieniem
Rotate Local Admin Password - Usunięcie urządzenia z Entra kasuje hasło LAPS bezpowrotnie — eksportuj przed cleanup
- Przypisuj politykę LAPS do grup urządzeń, nie użytkowników — inaczej konflikty przy zmianie użytkownika na urządzeniu