Technical source document
Implementation
Rendered from the retained public repository snapshot. Original wording and result boundaries are preserved.
Implementation
- Validated the modern
LAPS PowerShell module on DC01 and WS01.
- Queried the AD schema for
msLAPS-* attributes before making changes.
- Temporarily added
jeremy.fontenot to Schema Admins, refreshed the logon token, and ran Update-LapsADSchema -Verbose.
- Verified all six modern Windows LAPS schema attributes and removed the temporary Schema Admin membership.
- Created
OU=LAPS-Test under OU=Workstations with accidental-deletion protection.
- Moved WS01 from the existing Windows 10 OU into
LAPS-Test.
- Delegated computer self-permission with
Set-LapsADComputerSelfPermission.
- Created
GG-LAPS-Password-Readers and delegated read permission with Set-LapsADReadPasswordPermission.
- Created and linked
GPO - Workstations - Windows LAPS to the LAPS-Test OU.
- Configured AD backup, 30-day age, 14-character complex passwords, encryption, and
GG-LAPS-Password-Readers as the authorized decryptor.
- Initially allowed LAPS to target the built-in Administrator account. Event ID 10067 showed that the account was disabled.
- Reviewed WS01 local Administrators and found the existing enabled
LocalAdmin account.
- Updated the GPO to manage
LocalAdmin rather than enabling the built-in Administrator account.
- Forced Group Policy processing and validated the effective policy through Event ID 10021.
- Created non-admin reader account
laps.reader01, added it to the reader group, and validated encrypted retrieval.
- Created a temporary unauthorized standard user and confirmed it could not retrieve the LAPS record; the account was then deleted.
- Forced a final
Reset-LapsPassword and validated the new timestamps and Event IDs 10014, 10020, 10018, and 10004.