Skip to main content
COSMICBYTEZLABS
NewsSecurityHOWTOsToolsStudyTraining
ProjectsChecklistsAI RankingsNewsletterStatusTagsAbout
Subscribe

Press Enter to search or Esc to close

News
Security
HOWTOs
Tools
Study
Training
Projects
Checklists
AI Rankings
Newsletter
Status
Tags
About
RSS Feed
Reading List
Subscribe

Stay in the Loop

Get the latest security alerts, tutorials, and tech insights delivered to your inbox.

Subscribe NowFree forever. No spam.
COSMICBYTEZLABS

Your trusted source for IT intelligence, cybersecurity insights, and hands-on technical guides.

429+ Articles
114+ Guides

CONTENT

  • Latest News
  • Security Alerts
  • HOWTOs
  • Projects
  • Exam Prep

RESOURCES

  • Search
  • Browse Tags
  • Newsletter Archive
  • Reading List
  • RSS Feed

COMPANY

  • About Us
  • Contact
  • Privacy Policy
  • Terms of Service

© 2026 CosmicBytez Labs. All rights reserved.

System Status: Operational
  1. Home
  2. HOWTOs
  3. Configuring Windows LAPS: Automated Local Admin Password
Configuring Windows LAPS: Automated Local Admin Password
HOWTOIntermediate

Configuring Windows LAPS: Automated Local Admin Password

Deploy and configure Local Administrator Password Solution (LAPS) to automatically manage local administrator passwords across domain-joined computers,...

Dylan H.

Systems Engineering

February 8, 2026
7 min read

Prerequisites

  • Active Directory domain functional level 2003+
  • Schema Admin rights for schema extension
  • Domain Admin rights for GPO and delegation
  • Windows Server 2019+ recommended

Overview

Local Administrator Password Solution (LAPS) automatically manages and rotates local administrator passwords on domain-joined computers. Without LAPS, organizations typically use a single shared local admin password across all machines — a massive security risk that enables lateral movement after a single endpoint compromise.

Who Should Use This Guide:

  • Systems administrators deploying password management
  • Security engineers implementing CIS benchmark controls
  • MSP technicians hardening client environments
  • IT teams preparing for compliance audits (PCI DSS, HIPAA, SOC 2)

What You Will Learn:

SectionCoverage
Windows LAPSBuilt-in solution for Server 2019+
Legacy LAPSTraditional MSI-based solution
Schema ExtensionPreparing AD for LAPS attributes
DelegationControlling who can read/reset passwords
GPO ConfigurationPolicy settings and recommendations
Azure AD BackupHybrid environment support
ReportingCompliance and coverage monitoring

Requirements

ComponentWindows LAPSLegacy LAPS
Server OSWindows Server 2019+Windows Server 2012 R2+
Client OSWindows 10 21H2+Windows 7+
AD Level2016 functional level (recommended)2003+
Schema RightsSchema AdminSchema Admin
InstallationBuilt-in (no installer needed)MSI deployment required

Part 1: Windows LAPS (Recommended)

Windows LAPS is built into modern Windows versions — no separate client installation needed.

Extend AD Schema

# Import the LAPS module (Windows Server 2019+)
Import-Module LAPS
 
# Check current schema version
Get-LapsADSchema
 
# Extend the schema (requires Schema Admin credentials)
Update-LapsADSchema -Verbose
 
# Verify schema extension succeeded
Get-ADObject -SearchBase ((Get-ADRootDSE).SchemaNamingContext) `
    -Filter "Name -like 'ms-LAPS*'" |
    Select-Object Name

Expected output: You should see attributes like ms-LAPS-Password, ms-LAPS-PasswordExpirationTime, and ms-LAPS-EncryptedPassword.

Configure OU Permissions

Grant computers the right to update their own passwords:

# Grant SELF permission on target OUs
Set-LapsADComputerSelfPermission -Identity "OU=Workstations,DC=domain,DC=local"
Set-LapsADComputerSelfPermission -Identity "OU=Servers,DC=domain,DC=local"
 
# Verify permissions were applied
Find-LapsADExtendedRights -Identity "OU=Workstations,DC=domain,DC=local"

Delegate Password Access

Control who can read and reset LAPS passwords:

# Grant IT Admins group permission to read passwords
Set-LapsADReadPasswordPermission -Identity "OU=Workstations,DC=domain,DC=local" `
    -AllowedPrincipals "IT-Admins"
 
# Grant permission to force password rotation
Set-LapsADResetPasswordPermission -Identity "OU=Workstations,DC=domain,DC=local" `
    -AllowedPrincipals "IT-Admins"
 
# Verify all delegations
Find-LapsADExtendedRights -Identity "OU=Workstations,DC=domain,DC=local" |
    Format-Table Identity, ExtendedRightHolders

Create LAPS Group Policy

# Create the GPO
$GPO = New-GPO -Name "Security - Windows LAPS Configuration"
 
# Link to target OUs
New-GPLink -Guid $GPO.Id -Target "OU=Workstations,DC=domain,DC=local"
New-GPLink -Guid $GPO.Id -Target "OU=Servers,DC=domain,DC=local"

Configure settings in Group Policy Editor:

Navigate to: Computer Configuration > Administrative Templates > System > LAPS

SettingRecommended Value
Configure password backup directoryActive Directory
Password Settings — ComplexityLarge + Small + Numbers + Specials
Password Settings — Length20 characters
Password Settings — Age30 days
Name of administrator account to manageAdministrator (or custom name)
Do not allow password expiration time longer than requiredEnabled
Enable password encryptionEnabled
Configure authorized password decryptorsDomain Admins, IT-Admins

Retrieve Passwords

# Get password for a single computer
Get-LapsADPassword -Identity "WORKSTATION01" -AsPlainText
 
# Get password with full details
Get-LapsADPassword -Identity "WORKSTATION01" -AsPlainText |
    Select-Object ComputerName, Account, Password, PasswordExpirationTime
 
# Bulk retrieval for all workstations
Get-ADComputer -Filter "Name -like 'WKS*'" |
    ForEach-Object {
        Get-LapsADPassword -Identity $_.Name -AsPlainText
    } | Format-Table ComputerName, Account, Password
 
# Force immediate password rotation
Reset-LapsPassword -Identity "WORKSTATION01"

Part 2: Legacy LAPS (Windows Server 2012 R2 and Older)

For environments that cannot use Windows LAPS.

Install LAPS Components

# Download from Microsoft:
# https://www.microsoft.com/en-us/download/details.aspx?id=46899
 
# Silent install on management workstation (all components)
msiexec /i "LAPS.x64.msi" /qn ADDLOCAL=ALL
 
# Silent install on DC (management tools only)
msiexec /i "LAPS.x64.msi" /qn ADDLOCAL=Management.UI,Management.PS,Management.ADMX

Extend Schema (Legacy)

Import-Module AdmPwd.PS
 
# Extend schema
Update-AdmPwdADSchema
 
# Verify new attributes exist
Get-ADObject -SearchBase ((Get-ADRootDSE).SchemaNamingContext) `
    -Filter "Name -eq 'ms-Mcs-AdmPwd' -or Name -eq 'ms-Mcs-AdmPwdExpirationTime'"

Configure Permissions (Legacy)

# Grant computers permission to update their own password
Set-AdmPwdComputerSelfPermission -Identity "OU=Workstations,DC=domain,DC=local"
 
# Delegate read permission to IT Admins
Set-AdmPwdReadPasswordPermission -Identity "OU=Workstations,DC=domain,DC=local" `
    -AllowedPrincipals "IT-Admins"
 
# Delegate reset permission
Set-AdmPwdResetPasswordPermission -Identity "OU=Workstations,DC=domain,DC=local" `
    -AllowedPrincipals "IT-Admins"
 
# Audit who has read access
Find-AdmPwdExtendedRights -Identity "OU=Workstations,DC=domain,DC=local"

Deploy LAPS Client

# Deploy via GPO startup script or SCCM
$LAPSInstaller = "\\domain.local\NETLOGON\LAPS\LAPS.x64.msi"
Start-Process msiexec.exe -ArgumentList "/i `"$LAPSInstaller`" /qn" -Wait
 
# Verify installation
Test-Path "C:\Program Files\LAPS\CSE\AdmPwd.dll"

Retrieve Passwords (Legacy)

# PowerShell method
Get-AdmPwdPassword -ComputerName "WORKSTATION01"
 
# Direct AD attribute query
Get-ADComputer "WORKSTATION01" -Properties ms-Mcs-AdmPwd, ms-Mcs-AdmPwdExpirationTime |
    Select-Object Name,
        @{N='Password';E={$_.'ms-Mcs-AdmPwd'}},
        @{N='Expiration';E={[datetime]::FromFileTime($_.'ms-Mcs-AdmPwdExpirationTime')}}

Part 3: LAPS Reporting and Compliance

Generate Coverage Report

$OUs = @(
    "OU=Workstations,DC=domain,DC=local",
    "OU=Servers,DC=domain,DC=local"
)
 
$Report = foreach ($OU in $OUs) {
    Get-ADComputer -SearchBase $OU -Filter * -Properties ms-Mcs-AdmPwd, ms-Mcs-AdmPwdExpirationTime |
        Select-Object Name,
            DistinguishedName,
            @{N='HasLAPSPassword';E={$null -ne $_.'ms-Mcs-AdmPwd'}},
            @{N='PasswordExpiration';E={
                if ($_.'ms-Mcs-AdmPwdExpirationTime') {
                    [datetime]::FromFileTime($_.'ms-Mcs-AdmPwdExpirationTime')
                }
            }}
}
 
# Summary statistics
$Report | Group-Object HasLAPSPassword | Select-Object Name, Count
 
# Export full report
$Report | Export-Csv "C:\Reports\LAPS-Status-$(Get-Date -Format 'yyyy-MM-dd').csv" -NoTypeInformation

Find Computers Missing LAPS

# Computers without a LAPS password
Get-ADComputer -Filter "ms-Mcs-AdmPwd -notlike '*'" `
    -SearchBase "OU=Workstations,DC=domain,DC=local" |
    Select-Object Name, DistinguishedName

Part 4: Azure AD LAPS Backup (Hybrid)

For hybrid-joined devices, Windows LAPS can back up passwords to both AD and Azure AD.

Configure Hybrid Backup

In Group Policy, set "Configure password backup directory" to:

  • Active Directory and Azure Active Directory — Dual backup (recommended for hybrid)
# Verify device is Azure AD joined or hybrid joined
dsregcmd /status
 
# Check LAPS policy on client
Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\LAPS\Config"

Retrieve from Azure AD

# Using Microsoft Graph PowerShell
Connect-MgGraph -Scopes "DeviceLocalCredential.Read.All"
 
# Get LAPS password from Azure AD
Get-MgDeviceLocalCredential -DeviceId "<device-object-id>"

LAPS Cmdlet Reference

Windows LAPS Cmdlets

CmdletPurpose
Update-LapsADSchemaExtend AD schema for LAPS
Set-LapsADComputerSelfPermissionAllow computers to update their password
Set-LapsADReadPasswordPermissionDelegate password read access
Set-LapsADResetPasswordPermissionDelegate password reset access
Get-LapsADPasswordRetrieve a computer's LAPS password
Reset-LapsPasswordForce immediate password rotation
Find-LapsADExtendedRightsShow current LAPS permissions

Recommended Password Settings

EnvironmentLengthComplexityMax Age
Standard workstations14Letters + Numbers30 days
High-security endpoints20All character types14 days
Servers24All character types30 days

Troubleshooting

IssueCauseResolution
Password not updatingGPO not appliedRun gpupdate /force, verify GPO scope
Access denied on readMissing delegationRun Set-LapsADReadPasswordPermission
Schema extension failsNot Schema AdminUse Schema Admin account
CSE not processing (legacy)LAPS client not installedDeploy LAPS MSI
Password blank in ADComputer not in scopeCheck OU membership and GPO link
Encryption errorsMissing decryptor configVerify authorized decryptors GPO setting

Verify LAPS Client Status

# Check Windows LAPS events
Get-WinEvent -LogName "Microsoft-Windows-LAPS/Operational" -MaxEvents 20
 
# Check legacy LAPS events
Get-WinEvent -LogName "Application" -MaxEvents 50 |
    Where-Object { $_.ProviderName -eq "AdmPwd" }
 
# Verify LAPS registry configuration
Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\LAPS\Config" -ErrorAction SilentlyContinue

Verification Checklist

  • AD schema extended for LAPS attributes
  • Computer self-permission set on all target OUs
  • Read/reset permissions delegated to appropriate security groups
  • GPO created, configured, and linked to correct OUs
  • Password encryption enabled (Windows LAPS)
  • Test retrieval working for at least one computer
  • Coverage report shows >95% of computers managed
  • Azure AD backup configured (if hybrid environment)
  • LAPS event logs showing successful rotations

References

  • Windows LAPS Overview
  • Windows LAPS Deployment Guide
  • Legacy LAPS Download
  • CIS Benchmark — LAPS Requirements
#LAPS#Active Directory#Password Management#Group Policy#Windows Security#PowerShell

Related Articles

Group Policy Security Hardening for Windows Environments

Implement CIS-aligned security baselines through Group Policy including password policies, account lockout, audit policies, restricted groups, AppLocker,...

9 min read

Active Directory Health Check: Comprehensive Diagnostic

Run thorough health checks on Active Directory infrastructure including Domain Controllers, replication, DNS, SYSVOL, FSMO roles, and critical services...

9 min read

How to Detect and Block ClickFix Attacks

Learn how to detect and prevent ClickFix social engineering attacks using EDR rules, network monitoring, YARA signatures, and endpoint hardening. Covers...

14 min read
Back to all HOWTOs