Windows LAPS writes every policy cycle, password change and backup attempt to its own event log, using IDs in the 10000 range. This quick reference lists the events Microsoft documents for Microsoft Entra ID and Active Directory backup, policy processing and post-authentication actions, each with the usual cause and the first thing to check.
Codes in this quick reference
Event 10003: LAPS policy processing is now startingEvent Viewer (LAPS Operational)Event 10004: LAPS policy processing succeededEvent Viewer (LAPS Operational)Event 10005: LAPS policy processing failed with the error code below (for example 80070032)Event Viewer (LAPS Operational)Event 10021: current LAPS policy, backup directory Active DirectoryEvent Viewer (LAPS Operational)Event 10022: current LAPS policy, backup directory Azure AD (Microsoft Entra ID)Event Viewer (LAPS Operational)Event 10023: current LAPS policy comes from a legacy Microsoft LAPS policyEvent Viewer (LAPS Operational)Event 10013: LAPS failed to find the currently configured local administrator accountEvent Viewer (LAPS Operational)Event 10019: LAPS failed to update the local admin account with the new passwordEvent Viewer (LAPS Operational)
+ 26 more codes in the tables below.
How to read these events#
Open Event Viewer › Applications and Services Logs › Microsoft › Windows › LAPS › Operational. Windows LAPS processes its policy every hour, and each background cycle is bracketed: it starts with 10003 and ends with 10004 (success) or 10005 (failure). The events in between say what went wrong, so read a failed cycle from its 10003 onward instead of looking at 10005 alone.
- Scenario matters. Some events only occur when the device backs up to Active Directory (AD), some only for Microsoft Entra ID, and some in both. The tables mark the scenario Microsoft assigns.
- Error codes are HRESULTs. A
10005or10043event can carry a code such as80070032, which is Win32 error 50, "The request is not supported". Decode any code withcertutil -error 0x80070032. - Old names in event text. Windows still prints "Azure" and "Azure Active Directory" in these messages; the target is Microsoft Entra ID, so search for both names.
- Domain controllers are different. On a DC, the LAPS log only records management of the DSRM account, never the client behavior described here.
- Not every ID is documented. Microsoft publishes the most common events; read any other ID in the context of its cycle.
To run a cycle now and read it in order, use an elevated PowerShell window:
Invoke-LapsPolicyProcessing
Get-WinEvent -LogName 'Microsoft-Windows-LAPS/Operational' -MaxEvents 25 |
Sort-Object TimeCreated |
Format-Table TimeCreated, Id, LevelDisplayName, Message -WrapWhen the events aren't enough, Get-LapsDiagnostics collects the logs and traces for a deeper investigation or a support case.
Policy cycle and configuration events#
| Event | Meaning | Usual cause | First check |
|---|---|---|---|
10003 | "LAPS policy processing is now starting." | The hourly schedule, a policy change or Invoke-LapsPolicyProcessing | None; it marks the start of the cycle you're reading |
10004 | "LAPS policy processing succeeded." | The cycle completed | None. If the password wasn't due for rotation, no update events appear in between |
10005 | "LAPS policy processing failed with the error code below." | Any failure earlier in the cycle | The events between 10003 and 10005; decode the error code |
10021 | Current policy, backing up to Active Directory: policy source, account, age, complexity, length and encryption settings | Logged every cycle while backup is enabled | Policy source (GPO or CSP) and values match what you deployed |
10022 | Current policy, backing up to Microsoft Entra ID; Intune policy shows Policy source: CSP and Backup directory: Azure AD | Logged every cycle while backup is enabled | A wrong source or unexpected values point to a competing policy |
10023 | Current policy comes from a legacy Microsoft LAPS policy (Policy source: Legacy LAPS) | Windows LAPS is running in legacy LAPS emulation mode | Is that intended? If not, replace the legacy policy with a Windows LAPS policy |
Managed account and password events#
| Event | Meaning | Usual cause | First check |
|---|---|---|---|
10013 | "LAPS failed to find the currently configured local administrator account" (AD and Entra ID) | The account named in policy doesn't exist; with no name set, LAPS looks for the built-in account whose SID ends in 500 | net user or lusrmgr.msc; no leading or trailing spaces in the configured name. Before Windows 11, version 24H2 and Windows Server 2025, LAPS can't create the account for you |
10019 | "LAPS failed to update the local admin account with the new password" (AD and Entra ID) | The account exists but the change failed: a resource problem, or third-party software managing the same account | Restart and retest; review tools that also manage local accounts |
10027 | "LAPS was unable to create an acceptable new password." (AD and Entra ID) | LAPS length or complexity conflicts with the local or domain password policy, or a password filter rejects the password | net accounts and gpresult /h; align the policies; look for third-party password filter DLLs loaded in LSASS |
10020 | "LAPS successfully updated the local admin account with the new password." | Normal rotation | None; the event names the account and its RID |
10031 | "LAPS blocked an external request that tried to modify the password of the current managed account." | A person, script or tool tried to change the managed password | Find the source; rotate with Reset-LapsPassword instead of changing it by hand |
If the account itself is the problem, see managing local Administrators with Intune.
Microsoft Entra ID backup events#
| Event | Meaning | Usual cause | First check |
|---|---|---|---|
10025 | "Azure discovery failed" (Entra ID) | The device can't discover or reach the Enterprise Registration endpoint; a proxy that isn't set for the system context | Browse to https://enterpriseregistration.windows.net: "Unsupported method or endpoint." means it's reachable. Then netsh winhttp show proxy |
10026 | "LAPS was unable to authenticate to Azure using the device identity" (Entra ID) | A problem with the device's Primary Refresh Token | LAPS enabled in the tenant; device not deleted or disabled; dsregcmd /status device state, SSO data and diagnostic data |
10032 | Same text as 10026 (Entra ID) | Microsoft Entra authentication of the device failed | The same checks; translate any AADSTS code in the details |
10028 | "LAPS failed to update Azure Active Directory with the new password" (Entra ID) | The upload of the new password was refused or failed | Tenant setting, device object state and dsregcmd /status errors |
10059 | "Azure returned a failure code", with an HTTP error (Entra ID) | Connecting, authenticating or updating the password was rejected | The HTTP code in the event, endpoint reachability, tenant setting, device state |
10029 | "LAPS successfully updated Azure Active Directory with the new password." | Normal backup | The password appears on the device in Intune and Microsoft Entra ID |
Tip: By default Microsoft Entra ID refuses LAPS passwords until the tenant setting is turned on, so check it first for 10026, 10028, 10032 and 10059. The setup is in deploying Windows LAPS with Intune; join problems are covered in troubleshooting hybrid join with dsregcmd and the AADSTS quick reference.
Active Directory backup events#
| Event | Meaning | Usual cause | First check |
|---|---|---|---|
10006 | "LAPS password encryption is required but the Active Directory domain is not yet at 2016 domain functional level." (AD) | Password encryption, on by default, needs the Windows Server 2016 domain functional level | Raise the functional level; turning encryption off works but Microsoft doesn't recommend it |
10011 | "LAPS failed when querying Active Directory for the current computer state" (AD) | The hourly query to a DC failed: DC discovery or blocked ports | Connectivity and required ports to the domain controllers |
10012 | "The Active Directory schema has not been updated with the necessary LAPS attributes" (AD) | Schema not extended, or the change hasn't replicated to the DC the client uses | Update-LapsADSchema as Schema Admin (legacy emulation: Update-AdmPwdADSchema); repadmin /showreps on the DC named in 10055 |
10055 | Names the domain controller LAPS is working with (AD) | Informational | Use that DC for replication and connectivity checks |
10056 | "LAPS failed to locate a writable domain controller" (AD) | Password writes need a writable DC and discovery failed | nltest /dsgetdc:<domain> /force /writable; error 1355 means no DC was found |
10057 | "LAPS was unable to bind over LDAP to the domain controller" with an error code (AD) | Machine-context authentication to the DC failed | Computer account still exists; nltest /sc_query:<domain>; rejoin if the secure channel is broken, after confirming you know a local admin password |
10034 | "The configured encryption principal is an isolated (ambiguous) name." (AD) | The authorized password decryptors setting holds a bare name | Use a SID, DOMAIN\Group or user@domain; no stray spaces |
10035 | "The configured encryption principal name could not be mapped to a known account." (AD) | The group was deleted, or is new and hasn't replicated | psgetsid on the client with the name or SID from the event |
10065 | "LAPS received an LDAP_INSUFFICIENT_RIGHTS error trying to update the password using the legacy LAPS password attribute." (AD) | The computer can't write its own password, often after a move to another OU | Set-LapsADComputerSelfPermission -Identity <OU>; for legacy emulation the event suggests Update-AdmPwdComputerSelfPermission |
10017 | "LAPS failed to update Active Directory with the new password. The current password has not been modified" (AD) | A status event closing a failed cycle; it has no cause of its own | The earlier events in the same cycle |
10018 | "LAPS successfully updated Active Directory with the new password." | Normal backup | Get-LapsADPassword shows the new expiration time |
For the underlying directory problems, see the AD replication and LDAP bind quick references.
Post-authentication action events#
When post-authentication actions are configured, LAPS watches for sign-ins with the managed account and resets the password after the grace period in policy.
| Event | Meaning | Usual cause | First check |
|---|---|---|---|
10041 | "LAPS detected a successful authentication for the currently managed account." | Someone used the account; a reset is scheduled | Expected after use; the event shows the reset deadline |
10042 | "The post-authentication grace period has expired per policy." | The grace period ended | None; the configured actions run next |
10044 | "LAPS successfully reset the password for the currently managed account and completed all configured post-authentication actions." | Normal completion | None |
10043 | "LAPS failed to reset the password for the currently managed account." | The reset failed; LAPS keeps retrying and logs the retry count and error code | Decode the error code; check the directory connection |
10048 | "The currently pending post-authentication reset timer has been retried the maximum allowed number attempts and will no longer be scheduled" | More than 100 retries on one boot | Connectivity to AD or Microsoft Entra ID, then any other errors in the log |
10049 | "LAPS attempted to reboot the machine as a post-authentication action but the operation failed" | The actions include a reboot and shutdown was blocked | Applications blocking shutdown; shutdown privileges |
How to verify a fix#
- Run
Invoke-LapsPolicyProcessingand read the new cycle. Healthy looks like10003, then10021or10022, then10004, with no10005. - To prove the backup path end to end, force a rotation with
Reset-LapsPasswordand expect10018or10029plus10020in that cycle. Don't script it in a loop: Microsoft warns that excessive use can be throttled. - Confirm the directory has the new password:
# Microsoft Entra ID: metadata only needs Device.Read.All + DeviceLocalCredential.ReadBasic.All
Connect-MgGraph -TenantId '<tenant-id>' -ClientId '<app-client-id>'
Get-LapsAADPassword -DeviceIds 'PC-0042'
# Active Directory
Get-LapsADPassword -Identity 'PC-0042'Success is an expiration time that moved forward with the rotation you just triggered. In Intune, the device's Local admin password page should show the new rotation time. Watch the log for a few hourly cycles before closing the ticket.

