Qué vas a conseguir
Que el service desk restablezca contraseñas y desbloquee cuentas de su OU sin ser administrador del dominio, que un usuario borrado por error vuelva con sus grupos en un minuto, y que cuando alguien pregunte "¿quién ha tocado esta cuenta?" tengas la respuesta en los registros de los controladores de dominio. Es el día a día de AD después del alta de usuarios.
Antes de empezar
- Una estructura de OU por sede o por tipo de objeto (
OU=Usuarios,OU=Madrid,OU=Equipos,OU=Madrid). Se delega sobre OU, no sobre usuarios sueltos. - Grupos de delegación creados: por ejemplo
GG-AD-Helpdesk-Madridpara restablecer y desbloquear,GG-AD-Altas-Madridpara crear usuarios. Se delega a grupos, nunca a personas. - El módulo ActiveDirectory de PowerShell (RSAT) y una cuenta con permisos de administración sobre esas OU.
- En Usuarios y equipos de Active Directory, Ver › Características avanzadas activado para ver la pestaña Seguridad.
1. Delegar con el asistente
El desbloqueo no está en las tareas comunes. Se añade con Crear una tarea personalizada para delegar › Solo los siguientes objetos de la carpeta › Objetos Usuario › Específicos de propiedad y se marcan Leer lockoutTime y Escribir lockoutTime.
Para que un grupo una equipos en la OU de equipos: tarea personalizada, Objetos Equipo, Crear los objetos seleccionados en esta carpeta (y Eliminar, si también da de baja), y después los permisos Restablecer contraseña, Escritura validada en el nombre de host DNS, Escritura validada en el nombre principal de servicio y Escribir restricciones de cuenta.
El asistente solo añade permisos; no sabe quitarlos. Para revisar o retirar una delegación, ve a Propiedades › Seguridad › Opciones avanzadas de la OU.
2. Lo mismo con dsacls y PowerShell
Para documentarlo en un cambio o repetirlo en otra sede, mejor por línea de comandos:
# Restablecer contraseña y forzar cambio en el siguiente inicio (solo objetos hijos de tipo usuario)dsacls "OU=Usuarios,OU=Madrid,DC=contoso,DC=local" /I:S /G "CONTOSO\GG-AD-Helpdesk-Madrid:CA;Reset Password;user"dsacls "OU=Usuarios,OU=Madrid,DC=contoso,DC=local" /I:S /G "CONTOSO\GG-AD-Helpdesk-Madrid:RPWP;pwdLastSet;user"# Desbloqueardsacls "OU=Usuarios,OU=Madrid,DC=contoso,DC=local" /I:S /G "CONTOSO\GG-AD-Helpdesk-Madrid:RPWP;lockoutTime;user"# Crear y borrar usuarios en la OU, y administrarlosdsacls "OU=Usuarios,OU=Madrid,DC=contoso,DC=local" /I:T /G "CONTOSO\GG-AD-Altas-Madrid:CCDC;user"dsacls "OU=Usuarios,OU=Madrid,DC=contoso,DC=local" /I:S /G "CONTOSO\GG-AD-Altas-Madrid:GA;;user"The command completed successfully/I:T aplica al objeto y a sus hijos, /I:S solo a los hijos. CA es un derecho extendido (Reset Password), RPWP leer y escribir una propiedad, CCDC crear y borrar hijos del tipo indicado, GA control total. Para grupos se usa CCDC;group y, para cambiar miembros, RPWP;member;group.
Para comprobar después qué tiene delegado un grupo, (Get-Acl "AD:\OU=Usuarios,OU=Madrid,DC=contoso,DC=local").Access lista cada permiso con su IdentityReference y su ObjectType.
Si el service desk no puede restablecer la contraseña de un usuario concreto, mira su atributo adminCount. Las cuentas que pertenecen o han pertenecido a grupos protegidos (Admins. del dominio, Operadores de cuentas…) reciben los permisos de AdminSDHolder y no heredan la delegación de la OU. Es intencionado.
3. La papelera de reciclaje de AD
Sin papelera, un usuario borrado se restaura desde una copia con restauración autoritativa. Con ella, se recupera con todos sus atributos y grupos. Requiere nivel funcional de bosque Windows Server 2008 R2 o superior y, una vez activada, no se puede desactivar.
Enable-ADOptionalFeature -Identity 'Recycle Bin Feature' -Scope ForestOrConfigurationSet -Target 'contoso.local'# Pide confirmación: la acción es irreversibleGet-ADOptionalFeature -Filter 'Name -like "Recycle*"' | Select-Object Name, EnabledScopesTambién se activa desde el Centro de administración de Active Directory: clic derecho en el dominio › Habilitar papelera de reciclaje.
Restaurar un usuario borrado:
Get-ADObject -Filter 'sAMAccountName -eq "lprado"' -IncludeDeletedObjects -Properties lastKnownParent, whenChanged | Select-Object Name, lastKnownParent, whenChangedName lastKnownParent whenChanged---- --------------- -----------Laura Prado DEL:5c1e9a0e-7a43-4f0b-9d2e-... OU=Usuarios,OU=Madrid,DC=contoso,DC=local 30/10/2026 9:14:02Get-ADObject -Filter 'sAMAccountName -eq "lprado"' -IncludeDeletedObjects | Restore-ADObjectGet-ADUser lprado -Properties MemberOf | Select-Object Enabled, @{n='Grupos';e={$_.MemberOf.Count}}- El objeto vuelve a su
lastKnownParent. Si esa OU también se borró, restaura primero la OU. - El plazo para recuperar es
msDS-deletedObjectLifetime, que por defecto toma el valor detombstoneLifetime(180 días en los bosques actuales).
4. ¿Quién ha borrado o cambiado este usuario?
Los controladores de dominio solo lo registran si la directiva de auditoría avanzada está activa. En la GPO de los controladores de dominio: Configuración del equipo › Directivas › Configuración de Windows › Configuración de seguridad › Configuración de directiva de auditoría avanzada › Directivas de auditoría:
- Administración de cuentas › Auditar la administración de cuentas de usuario: Correcto y Error.
- Acceso DS › Auditar cambios de servicio de directorio: Correcto. Además necesita una entrada de auditoría (SACL) en la OU o el dominio para "Todos" con escritura de propiedades y eliminación.
Los eventos que buscas en el registro de Seguridad:
| Evento | Qué significa |
|---|---|
| 4720 | Se creó una cuenta de usuario |
| 4726 | Se eliminó una cuenta de usuario |
| 4738 | Se cambió una cuenta de usuario (indica qué atributos, no los valores anteriores) |
| 4740 | Se bloqueó una cuenta (lo registra el DC con el rol de emulador de PDC) |
| 4767 | Se desbloqueó una cuenta |
| 5136 | Se modificó un objeto del directorio, con el valor anterior y el nuevo |
Cada evento se registra en el DC que hizo el cambio. Para no adivinar cuál, pregunta a todos:
$dcs = (Get-ADDomainController -Filter *).HostNameforeach ($dc in $dcs) { Get-WinEvent -ComputerName $dc -FilterHashtable @{LogName='Security'; Id=4726; StartTime=(Get-Date).AddDays(-2)} -ErrorAction SilentlyContinue | ForEach-Object { $d = @{}; ([xml]$_.ToXml()).Event.EventData.Data | ForEach-Object { $d[$_.Name] = $_.'#text' }; [pscustomobject]@{Hora=$_.TimeCreated; DC=$dc; Cuenta=$d.TargetUserName; Quien=$d.SubjectUserName} } }Hora DC Cuenta Quien---- -- ------ -----30/10/2026 9:14:02 dc02.contoso.local lprado adm-jgarciaPara un cambio de atributo, repadmin /showobjmeta te dice en qué DC se originó y cuándo, y ahí buscas el 5136:
repadmin /showobjmeta dc01 "CN=Laura Prado,OU=Usuarios,OU=Madrid,DC=contoso,DC=local" | findstr /i "department manager" 41822 Madrid\DC02 41822 2026-10-30 08:52:10 3 departmentEl registro de Seguridad de un DC se sobrescribe rápido. Aumenta su tamaño o reenvíalo a un SIEM: lo que no está guardado no se puede auditar.
5. MachineAccountQuota a cero
Por defecto, cualquier usuario autenticado puede unir hasta 10 equipos al dominio: lo marca el atributo ms-DS-MachineAccountQuota del dominio. Una vez delegada la unión de equipos a un grupo (apartado 1), ponlo a cero:
Get-ADObject (Get-ADDomain).DistinguishedName -Properties ms-DS-MachineAccountQuota | Select-Object ms-DS-MachineAccountQuotams-DS-MachineAccountQuota------------------------- 10Set-ADDomain -Identity contoso.local -Replace @{"ms-DS-MachineAccountQuota"="0"}Antes de cambiarlo, comprueba qué cuentas unen equipos hoy (técnicos, la secuencia de tareas de MECM, el conector de Intune para unión híbrida) y que todas tienen la delegación en su OU.
Siguientes pasos
- La guía Active Directory: usuarios y grupos cubre las altas, bajas y cuentas bloqueadas del día a día.
- La guía PowerShell ayuda a convertir estas consultas en scripts programados.
- El repositorio 19-ad-infra-health-check de mi GitHub revisa la salud de los controladores de dominio, y 37-iam-access-review sirve para revisar periódicamente quién tiene qué permisos.
¿Falta algo o en tu entorno es distinto? Escríbeme y lo corrijo.
Tech Career Lab · newsletter
¿Te ha servido? Cada dos semanas envío una idea práctica para perfiles IT: LinkedIn, proyectos, networking y procesos de selección.
Apúntate y llévate las 33 ideas →