Table of Contents

Despliegue de LAPS

1. Preparación

Antes de extender el esquema:

\\mydomain.com\NETLOGON\LAPS\LAPS.x64.msi

2. Extender el esquema de Active Directory

Abrir PowerShell con privilegios de dominio y ejecutar:

Update-AdmPwdADSchema

Si devuelve The user has insufficient access rights, cerrar sesión y volver a ingresar con la cuenta perteneciendo a los grupos mencionados.

3. Delegar permisos a los equipos

Cada equipo debe poder escribir su propia contraseña en AD.

Esto se configura con:

Set-AdmPwdComputerSelfPermission -OrgUnit "OU=EstacionesDeTrabajo,DC=mydomain,DC=com" -ErrorAction Continue

Repetir para cada OU que contenga directamente objetos “computer”.

Por ejemplo:

Set-AdmPwdComputerSelfPermission -OrgUnit "OU=Portatiles,DC=mydomain,DC=com" -ErrorAction Continue

Versión automatizada En dominios con muchas OUs, se puede automatizar la asignación con:

Get-ADOrganizationalUnit -Filter * -SearchBase "DC=mydomain,DC=com" |
Where-Object { $_.Name -in @("EstacionesDeTrabajo","Portatiles") } |
ForEach-Object {
    Write-Host "Procesando $($_.DistinguishedName)"
    Set-AdmPwdComputerSelfPermission -OrgUnit $_.DistinguishedName -ErrorAction Continue
}

Nota: el operador -in no funciona dentro de -Filter, sólo dentro de Where-Object.

4. Revisar derechos extendidos

Para verificar qué grupos tienen permisos LAPS en una OU:

Find-AdmPwdExtendedRights -OrgUnit "OU=EstacionesDeTrabajo,DC=mydomain,DC=com" | ft

5. Delegar lectura y reseteo de contraseñas

Crear grupos de seguridad dedicados, por ejemplo:

Asignar permisos:

Set-AdmPwdReadPasswordPermission -OrgUnit "OU=EstacionesDeTrabajo,DC=mydomain,DC=com" -AllowedPrincipals "LAPS_Admins_R" -ErrorAction Continue
Set-AdmPwdResetPasswordPermission -OrgUnit "OU=EstacionesDeTrabajo,DC=mydomain,DC=com" -AllowedPrincipals "LAPS_Admins_RW" -ErrorAction Continue

6. Despliegue del cliente LAPS

Opción A – mediante GPO

\\mydomain.com\NETLOGON\LAPS\LAPS.x64.msi

Opción B – instalación remota manual

Para ejecutar desde PowerShell:

msiexec /i \\mydomain.com\NETLOGON\LAPS\LAPS.x64.msi /qn

Ejemplo con filtro:

Get-ADComputer -Filter * -SearchBase "OU=EstacionesDeTrabajo,DC=mydomain,DC=com" | ForEach-Object {
    Invoke-Command -ComputerName $_.Name -ScriptBlock {
        msiexec /i \\mydomain.com\NETLOGON\LAPS\LAPS.x64.msi /qn
    } -ErrorAction Continue
}

7. Verificación

Después del despliegue, comprobar desde un equipo:

Get-AdmPwdPassword -ComputerName "EquipoPrueba"

Y validar que en AD el objeto del equipo tenga los atributos:

8. Referencias