====== Despliegue de LAPS ====== ===== 1. Preparación ===== Antes de extender el esquema: * Asegurarse de estar logueado con un usuario miembro de **Schema Admins** y **Enterprise Admins**. * Tener el módulo de PowerShell **AdmPwd.PS** disponible (se instala con el [[https://www.microsoft.com/en-us/download/details.aspx?id=46899|MSI]] o mediante RSAT). * Contar con acceso al instalador MSI, por ejemplo: ''\\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: * **LAPS_Admins_R** → Lectura del password. * **LAPS_Admins_RW** → Lectura + Reset del password. 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 ==== * Crear una OU de prueba (por ejemplo, OU=Test). * Crear un nuevo GPO, por ejemplo **gpoInstall_LAPS**. * En el editor del GPO: * Ir a **Computer Configuration** → **Policies** → **Software Settings** → **Software installation** * Agregar un nuevo paquete apuntando al instalador MSI: ''\\mydomain.com\NETLOGON\LAPS\LAPS.x64.msi'' * Asignar como **Assigned** (no Published). * Linkear el GPO a la OU Test. * Colocar equipos en esa OU y reiniciar. * Durante el arranque, el sistema instalará LAPS automáticamente si tiene acceso de lectura al recurso compartido. ==== 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: * ''ms-Mcs-AdmPwd'' * ''ms-Mcs-AdmPwdExpirationTime'' ===== 8. Referencias ===== * **Update-AdmPwdADSchema** – agrega los atributos necesarios al esquema. * **Set-AdmPwdComputerSelfPermission** – permite que las computadoras actualicen sus contraseñas. * **Set-AdmPwdReadPasswordPermission** – delega lectura. * **Set-AdmPwdResetPasswordPermission** – delega reseteo.