Windows LAPS (Local Administrator Password Solution) je vestavěná funkce Windows 10/11 a Windows Serveru, která automaticky spravuje a rotuje hesla lokálních administrátorských účtů a ukládá je buď do Active Directory, nebo do Entra ID (Azure AD). Od dubna 2023 je součástí operačního systému, takže už nemusíte instalovat starou samostatnou aplikaci Legacy LAPS. V tomhle průvodci vás krok za krokem provedu nasazením Windows LAPS pomocí Intune i Group Policy, včetně PowerShell příkazů, které si můžete rovnou zkopírovat do své konzole. Postup vychází z desítek nasazení, která jsem v posledních dvou letech dělal ve firmách od 50 do 5000 stanic.
Windows LAPS je zdarma a je součástí Windows 10 22H2, Windows 11 a Windows Serveru 2019+ (od dubnové aktualizace 2023, KB5025221 a novější).
Nová verze podporuje ukládání hesel do Entra ID (Azure AD) i do on-premises Active Directory – Legacy LAPS uměl pouze AD.
Konfiguraci nasadíte přes ADMX šablony Group Policy nebo přes Intune Endpoint Security → Account Protection.
Heslo z AD získáte příkazem Get-LapsADPassword, z Entra ID přes Microsoft Graph nebo v Intune portálu.
Před nasazením proveďte Update-LapsADSchema – rozšíření schématu AD je jednorázová operace vyžadující práva Schema Admin.
Legacy LAPS a Windows LAPS se navzájem vylučují – Microsoft doporučuje migrovat do konce roku 2026.
Co je Windows LAPS a proč ho potřebujete
Windows LAPS je nástupce staré aplikace Local Administrator Password Solution, kterou jsme deset let instalovali jako samostatný MSI balíček. Od jara 2023 je Windows LAPS integrovaný přímo do jádra operačního systému a řeší jednu z nejotravnějších bezpečnostních děr, kterou v podnicích potkávám: stejné heslo lokálního administrátora na tisíci stanicích. Když útočník získá hash z jednoho zařízení, přes Pass-the-Hash se dostane všude jinam.
Windows LAPS náhodně generuje silné heslo pro lokální účet Administrator (nebo jiný, který určíte), pravidelně ho rotuje (výchozí interval je 30 dní) a šifrovaně ho zálohuje do vámi zvoleného adresáře. Když helpdesk potřebuje lokální heslo pro offline opravu, přihlásí se do konzole a heslo si vyžádá. Po použití se heslo automaticky rotuje, takže nikdo nemá „univerzální klíč". Podrobný přehled najdete v oficiální dokumentaci Microsoft Learn.
Windows LAPS vs. Legacy LAPS: rozdíly
Pokud stále používáte Legacy LAPS z roku 2015, je nejvyšší čas migrovat. Nová verze má úplně jiné CSE (Client-Side Extension), jiné atributy v Active Directory a nemíchá se s Legacy verzí. Oba systémy se navzájem vylučují a klient bude ignorovat druhou politiku, pokud detekuje první. Tady je srovnání toho, co v praxi opravdu použijete:
Funkce
Legacy LAPS
Windows LAPS (2023+)
Instalace klienta
Samostatný MSI balíček
Součást OS (žádná instalace)
Zálohování hesla
Pouze Active Directory
AD i Entra ID (Azure AD)
Šifrování hesla v AD
Pouze plaintext v atributu
DPAPI-NG šifrování (volitelné, doporučené)
Historie hesel
Ne
Ano, konfigurovatelná délka
Passphrase místo hesla
Ne
Ano (od Windows 11 24H2)
Automatická rotace po použití
Ne
Ano, přes GPO/CSP
Podpora Intune
Ne
Nativní přes Endpoint Security
Cena
Zdarma
Zdarma (s Entra ID Free stačí základní funkce)
Microsoft oznámil životní cyklus Legacy LAPS a jasně říká, že nové funkce už nedostane. Pokud řídíte firemní flotilu Windows 11, plánujte kompletní migraci nejpozději do konce roku 2026. Postup migrace jsem podrobněji rozepsal v článku o řešení příčin zamykání účtů v Active Directory, kde narazíte na stejný princip auditování atributů AD.
Prerekvizity a podpora operačních systémů
Než sáhnete na GPO nebo Intune, ověřte, že máte podporované klienty a servery. Windows LAPS klient je součástí těchto verzí OS po instalaci dubnové aktualizace 2023 (KB5025221) nebo novější:
Windows 11 22H2 a novější (včetně 23H2, 24H2 a 25H2)
Windows 10 22H2
Windows Server 2022, 2025
Windows Server 2019
Windows Server 2016 a starší nejsou podporované jako klient – tam zůstává Legacy LAPS. Pokud plánujete zálohovat hesla do on-premises Active Directory, potřebujete:
Doménovou úroveň Windows Server 2016 nebo vyšší (kvůli podpoře atributů typu msLAPS-*).
Účet s právy Schema Admin pro jednorázové rozšíření schématu.
PowerShell modul LAPS (nainstaluje se s aktualizací OS – ověřte pomocí Get-Command -Module LAPS).
Nasazení Windows LAPS s Active Directory
Pro tradiční on-premises nasazení je postup přímočarý. Přihlaste se na doménový řadič jako Schema Admin a spusťte tyto PowerShell příkazy z povýšené konzole:
# 1) Rozsireni schematu AD o atributy msLAPS-*
# Vyzaduje clenstvi ve skupine Schema Admins
Update-LapsADSchema
# 2) Delegace prava zapisu atributu na Organizacni Jednotku (OU)
# Priklad pro OU=Workstations,DC=firma,DC=local
Set-LapsADComputerSelfPermission -Identity "OU=Workstations,DC=firma,DC=local"
# 3) Overeni, ze rozsireni probehlo v poradku
Get-LapsADPassword -Identity NEEXISTUJICI 2>&1 | Select-String "schema"
# Pokud vypise chybu "computer not found" (a NE "schema"), je vse OK
Rozšíření schématu přidá nové atributy jako msLAPS-Password, msLAPS-PasswordExpirationTime, msLAPS-EncryptedPassword a msLAPS-EncryptedPasswordHistory. Delegace Set-LapsADComputerSelfPermission povolí každému počítači zapsat vlastní heslo do svého objektu v AD. Bez toho rotace mlčky selhávala a v Event Viewer byste viděli event ID 10014.
Doporučené šifrování hesla
Ve výchozím stavu Windows LAPS ukládá heslo v čitelné podobě do atributu msLAPS-Password. Silně doporučuji zapnout DPAPI-NG šifrování, kdy je heslo dešifrovatelné jen členy určité skupiny (typicky Domain Admins nebo speciální Tier 0 skupina). Šifrování zapnete v GPO pod Enable password encryption = Enabled, což popíšu níže.
Nasazení Windows LAPS s Intune a Entra ID
Pokud spravujete Entra ID Joined nebo Hybrid Joined stanice přes Intune, nebudete Group Policy potřebovat vůbec. Windows LAPS má vlastní CSP a Intune ho vystavuje přes hezké UI:
V portálu Intune admin centra jděte na Endpoint security → Account protection → Create Policy.
Platforma: Windows 10 and later, Profil: Local admin password solution (Windows LAPS).
Nastavte Backup Directory = Backup the password to Azure AD only.
Nastavte Password Age Days = 30, Password Complexity = Large letters + small letters + numbers + special (4), Password Length = 20.
Nastavte Post Authentication Actions = Reset the password and logoff the managed account. Bez tohohle nastavení se heslo po použití vůbec nerotuje, což je celý smysl LAPS, takže sem opravdu klikněte.
Přiřaďte politiku k Entra ID skupině (např. „All Corporate Devices").
Do 8 hodin po sync intervalu si stanice heslo vygeneruje a nahraje ho do objektu zařízení v Entra ID. Heslo pak najdete v Intune u dotčeného zařízení pod Local admin password, případně přes Microsoft Graph API. Podobnou logiku „nakonfiguruj v cloudu, spravuj lokálně" jsem popsal v článku o přechodu z klasického na nový Outlook, kde Intune přebírá zodpovědnost, kterou dřív držel Group Policy.
Konfigurace přes Group Policy krok za krokem
Pro čistě on-premises prostředí je Group Policy stále cestou nejmenšího odporu. ADMX/ADML šablony pro Windows LAPS jsou součástí Administrative Templates pro Windows 11 a instalují se do centrálního úložiště na \\firma.local\SYSVOL\firma.local\Policies\PolicyDefinitions.
Po zkopírování otevřete Group Policy Management Console a vytvořte novou GPO propojenou na OU s počítači:
# PowerShell: vytvoreni GPO, linkovani a nastaveni klicu z prikazove radky
# (alternativa ke klikani v gpmc.msc)
# 1) Vytvoreni GPO a propojeni na OU
New-GPO -Name "Windows LAPS - Workstations"
New-GPLink -Name "Windows LAPS - Workstations" `
-Target "OU=Workstations,DC=firma,DC=local"
# 2) Nastaveni klicovych parametru (registry cesta HKLM\Software\Microsoft\Policies\LAPS)
$gpo = "Windows LAPS - Workstations"
$key = "HKLM\Software\Microsoft\Policies\LAPS"
# Backup do Active Directory (0 = Disabled, 1 = Azure AD, 2 = AD)
Set-GPRegistryValue -Name $gpo -Key $key -ValueName "BackupDirectory" -Type DWord -Value 2
# Delka hesla (min 8, max 64), doporucuji 20+
Set-GPRegistryValue -Name $gpo -Key $key -ValueName "PasswordLength" -Type DWord -Value 20
# Vek hesla ve dnech pred rotaci (min 1, max 365)
Set-GPRegistryValue -Name $gpo -Key $key -ValueName "PasswordAgeDays" -Type DWord -Value 30
# Sifrovani DPAPI-NG (0 = plaintext, 1 = sifrovane) - doporuceno
Set-GPRegistryValue -Name $gpo -Key $key -ValueName "ADPasswordEncryptionEnabled" `
-Type DWord -Value 1
# Akce po pouziti hesla: 3 = rotate + logoff + reboot
Set-GPRegistryValue -Name $gpo -Key $key -ValueName "PostAuthenticationActions" `
-Type DWord -Value 3
# Grace perioda po autentizaci pred vynucenim akce (v hodinach)
Set-GPRegistryValue -Name $gpo -Key $key -ValueName "PostAuthenticationResetDelay" `
-Type DWord -Value 8
Po nasazení spusťte na klientovi gpupdate /force a pak proveďte manuální aktualizaci LAPS pomocí Invoke-LapsPolicyProcessing. V Event Viewer se událost objeví v logu Applications and Services Logs → Microsoft → Windows → LAPS → Operational. Úspěšný upload uvidíte jako Event ID 10018.
Kdo má právo číst heslo
Ve výchozím stavu můžou heslo v AD číst jen ti, kterým to explicitně povolíte. Nastavte to jednou přes:
# Povolit skupine "Helpdesk Tier 2" cist LAPS hesla z OU=Workstations
Set-LapsADReadPasswordPermission `
-Identity "OU=Workstations,DC=firma,DC=local" `
-AllowedPrincipals "FIRMA\Helpdesk Tier 2"
# Volitelne: povolit resetovat heslo na vyzadani (napr. pri incidentu)
Set-LapsADResetPasswordPermission `
-Identity "OU=Workstations,DC=firma,DC=local" `
-AllowedPrincipals "FIRMA\Helpdesk Tier 2"
Jak získat heslo lokálního administrátora
Tři nejčastější způsoby, které používá tier-1 helpdesk každý den:
Z PowerShell konzole (AD):Get-LapsADPassword -Identity PC-JAN-01 -AsPlainText. Přepínač -AsPlainText je nutný, jinak dostanete jen šifrovaný objekt.
Z Intune portálu (Entra ID): otevřete Devices → All devices → konkrétní zařízení → Local admin password → Show local admin password. Přístup mají účty s rolí „Cloud Device Administrator" nebo „Intune Administrator".
Z Microsoft Graph: volání GET /deviceLocalCredentials/{deviceId}?$select=credentials – vhodné pro automatizaci a integraci do ticketing nástrojů.
Praktický PowerShell příklad pro helpdesk, který si můžete zabalit do funkce v profilu:
# Rychla funkce pro tier-1: 'laps PC-JAN-01' vypise heslo a vek
function laps {
param([Parameter(Mandatory)][string]$Computer)
$result = Get-LapsADPassword -Identity $Computer -AsPlainText -ErrorAction Stop
[PSCustomObject]@{
Computer = $result.ComputerName
Account = $result.Account
Password = $result.Password
Updated = $result.PasswordUpdateTime
ExpiresIn = ($result.ExpirationTimestamp - (Get-Date)).Days.ToString() + " dni"
}
}
# Pouziti:
laps PC-JAN-01
Pokud potřebujete heslo okamžitě zrotovat (například když ho někdo napsal do ticketu, což se stává častěji, než by se vám líbilo), použijte Reset-LapsPassword -Identity PC-JAN-01. Klient si při dalším sync intervalu vytvoří nové heslo a zaloguje ho.
Řešení nejčastějších problémů
Tenhle seznam se rodil ve chvílích, kdy jsem seděl v ticketu ve 22:30 a proklínal Event Viewer. V praxi narážím na pět opakujících se problémů, které stojí za to znát dřív, než na ně narazíte:
1. Heslo se nezálohuje do AD
Zkontrolujte v Event Vieweru log Microsoft-Windows-LAPS/Operational. Event ID 10014 („Access denied") znamená, že chybí delegace přes Set-LapsADComputerSelfPermission. Event ID 10023 signalizuje, že GPO se aplikuje, ale BackupDirectory je nastavené na 0 (Disabled).
2. Kolize s Legacy LAPS
Windows LAPS klient odmítne pracovat, pokud detekuje nainstalovaný Legacy LAPS CSE. V Event ID 10024 uvidíte hlášku „Legacy LAPS CSE detected". Odinstalujte Legacy LAPS pomocí msiexec /x {product-code} a restartujte.
3. Neexistuje PowerShell modul LAPS
Pokud Import-Module LAPS selže, chybí buď aktualizace OS (KB5025221 nebo novější), nebo nainstalované Remote Server Administration Tools (RSAT). Pro AD funkce (Get-LapsADPassword) potřebujete RSAT: Add-WindowsCapability -Online -Name Rsat.ActiveDirectory.DS-LDS.Tools~~~~0.0.1.0.
4. Heslo je uložené, ale nejde ho přečíst
Pokud dostanete výstup „Password value cannot be decrypted", máte zapnuté DPAPI-NG šifrování a nejste členem skupiny, které je heslo určené k dešifrování. Zkontrolujte hodnotu msLAPS-EncryptedPassword a nastavení Configure authorized password decryptors v GPO.
5. Chybný účet
Windows LAPS spravuje ve výchozím stavu vestavěný Administrator (RID 500), i když je zakázaný. Pokud potřebujete spravovat jiný lokální účet, nastavte Name of administrator account to manage na jméno vámi vytvořeného účtu (např. hd-local). Účet musí existovat – LAPS ho sám nevytvoří.
Nejčastější dotazy
Je Windows LAPS zdarma?
Ano. Windows LAPS je součástí operačního systému Windows 10/11 a Windows Server 2019+ a nevyžaduje žádnou dodatečnou licenci. Pro zálohování hesel do Entra ID vám stačí Entra ID Free. Všechny základní LAPS funkce fungují i bez placené licence.
Funguje Windows LAPS s Azure AD (Entra ID)?
Ano, plná podpora Entra ID přišla ve Windows 11 22H2 a Windows 10 22H2. Heslo se ukládá do objektu zařízení a spravovat ho můžete přes Intune portál nebo Microsoft Graph. Toto je hlavní důvod, proč Windows LAPS nahrazuje Legacy LAPS, protože ten Entra ID neuměl vůbec.
Jaký je rozdíl mezi Windows LAPS a Legacy LAPS?
Windows LAPS je zabudovaný do OS, podporuje Entra ID, umí DPAPI-NG šifrování hesel v AD, uchovává historii hesel a nabízí passphrase mód. Legacy LAPS je samostatný MSI, umí pouze AD s plaintext heslem, historii ani šifrování nemá. Microsoft doporučuje migrovat.
Musím rozšířit schéma Active Directory?
Pouze pokud plánujete zálohovat hesla do AD. Spusťte Update-LapsADSchema jednou z účtu Schema Admin. Pokud používáte pouze Entra ID backup přes Intune, rozšíření schématu není potřeba.
Jak často se heslo rotuje?
Ve výchozím nastavení každých 30 dní. Interval nastavíte přes klíč PasswordAgeDays v GPO nebo v Intune (rozsah 1–365 dní). Navíc můžete zapnout rotaci ihned po použití hesla přes PostAuthenticationActions – doporučeno pro Tier 0 stanice.
Zjistěte, co zamyká účty v Active Directory. Praktický průvodce od zjištění zdrojového počítače přes Event ID 4740 až po PowerShell skripty pro automatizovanou diagnostiku a prevenci opakovaného zamykání.