Antes de extender el esquema:
\\mydomain.com\NETLOGON\LAPS\LAPS.x64.msi
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.
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.
Para verificar qué grupos tienen permisos LAPS en una OU:
Find-AdmPwdExtendedRights -OrgUnit "OU=EstacionesDeTrabajo,DC=mydomain,DC=com" | ft
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
\\mydomain.com\NETLOGON\LAPS\LAPS.x64.msi
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 }
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-AdmPwdms-Mcs-AdmPwdExpirationTime