The most common stability issues during migration come from overlapping configurations between legacy Microsoft LAPS and Windows LAPS, and from not fully removing the legacy components once Windows LAPS is in place. The following cleanup and verification steps are what typically stabilize environments:
- Ensure side‑by‑side is configured correctly
- When running both solutions during migration, both policies must target different local accounts. Having Windows LAPS and legacy LAPS manage the same local admin account isn’t supported and leads to inconsistent password rotation.
- Long term, plan to move all devices to Windows LAPS and retire legacy LAPS.
- Verify Windows LAPS is actually taking over
Use one or more of these checks on problem machines:
- Check the Windows LAPS event log channel for successful password update events. This confirms the background policy processing cycle is running and passwords are being rotated.
- If storing passwords in Active Directory:
- Confirm the
msLAPS-PasswordExpirationTime attribute is present and updating on the computer object.
- Use the
Get-LapsADPassword PowerShell cmdlet to verify that a current password and expiration time are stored.
- If storing passwords in Microsoft Entra ID:
- Verify in the Microsoft Entra ID or Intune portals that the device password is updating.
- Use
Get-LapsAADPassword to confirm password and expiration data.
If these checks fail or show stale data, Windows LAPS policy isn’t being applied correctly, or something is blocking password updates.
- Cleanly remove legacy LAPS components
Once Windows LAPS is confirmed working for the new target account, remove legacy LAPS from each device so it no longer interferes:
- If legacy LAPS was installed via MSI:
- If legacy LAPS was deployed by copying and registering
AdmPwd.dll:
Removing these components prevents legacy LAPS CSE behavior from conflicting with Windows LAPS processing.
- Disable legacy emulation when needed
Windows LAPS can run in “legacy Microsoft LAPS emulation mode” and honor legacy LAPS Group Policy settings. If that’s not desired and is causing confusion:
- Create a
REG_DWORD value named BackupDirectory under:
HKLM\Software\Microsoft\Windows\CurrentVersion\LAPS\Config
- Set it to
0.
This prevents Windows LAPS from entering legacy emulation mode, even if the legacy CSE is still present, and avoids unintended enforcement of old policies.
- Force and observe policy processing
When testing fixes on a device:
- Trigger Windows LAPS processing explicitly (for example, by forcing Group Policy refresh or using the Windows LAPS policy processing cmdlet if available in the environment).
- Immediately recheck:
- Windows LAPS event logs for successful password rotation.
-
msLAPS-PasswordExpirationTime (AD) or the Entra/Intune view for updated password metadata.
- Monitor for a stable transition at scale
After cleanup, use centralized monitoring to confirm stability:
- Aggregate Windows LAPS event logs to verify regular successful password updates across devices.
- Periodically sample devices with
Get-LapsADPassword or Get-LapsAADPassword to ensure expiration times and password versions are advancing as expected.
These steps address the usual “it should work but doesn’t consistently” symptoms by eliminating legacy CSE interference, disabling unwanted emulation, and confirming that Windows LAPS is the only active password management mechanism.
References: