Tras añadir un equipo o una cuenta de usuario a un grupo de seguridad de Active Directory (AD), una molestia habitual es que los nuevos permisos o GPO no se implementan al instante. Es necesario hacer algo para actualizarlos. Normalmente, reiniciar o cerrar sesión es la solución ideal, pero a veces no se puede hacer de inmediato o simplemente resulta incómodo. Aquí es donde entran en juego algunos trucos con tickets Kerberos y herramientas de línea de comandos. No son perfectos ni siempre infalibles, pero la mayoría de las veces funcionan sin necesidad de reiniciar por completo. Ten en cuenta que esto funciona principalmente con servicios y aplicaciones que dependen de Kerberos, no de NTLM. Por lo tanto, si algo sigue funcionando de forma extraña, es posible que tengas que reiniciar o cerrar sesión. Aun así, vale la pena intentarlo si quieres evitar tener que reiniciar constantemente.
Actualizar la membresía del grupo de equipos y el ticket Kerberos sin reiniciar
La cuestión es la siguiente: al añadir un equipo a un grupo, el sistema emite tickets Kerberos que almacenan en caché la información del grupo. Estos tickets no se actualizan automáticamente, sino que están vinculados al proceso de concesión de tickets que se realiza al arrancar el equipo o al iniciar sesión. Por lo tanto, para forzar la actualización, deberá borrar esos tickets y actualizar sus políticas. Esto es especialmente útil si administra varios equipos de forma remota o mediante VPN, donde reiniciar no es práctico.
Primero, comprueba a qué grupos pertenece la máquina. Ejecuta esto desde un símbolo del sistema con privilegios elevados:
gpresult /r /scope computer
Aquí se enumeran todos los grupos de seguridad del equipo. Para ver los tickets Kerberos que contiene el equipo, haga lo siguiente:
klist.exe -li 0x3e7
Nota: 0x3e7 corresponde a la sesión del SISTEMA local. Es lo que se necesita aquí porque Windows trata la caché del sistema local por separado.
A continuación, agreguemos su máquina al nuevo grupo de AD, ya sea a través de Usuarios y equipos de Active Directory o PowerShell:
Add-ADGroupMember -Identity "YourGroupName" -Members wks-mns21$
Reemplace `»YourGroupName»` con el nombre real de su grupo y `»wks-mns21$»` con el nombre de host o cuenta de su equipo. Ahora, para una limpieza rápida de tickets:
klist -lh 0 -li 0x3e7 purge
Para Windows 7/Server 2008 R2, es posible que vea este comando ligeramente diferente, pero en la mayoría de las máquinas modernas con Windows 10/11/Server 2016+, simplemente use:
klist --li 0x3e7 purge
Esto borra todos los tickets Kerberos, obligando al equipo a solicitar nuevos en el siguiente acceso. Después, ejecute:
gpupdate /force
Esto aplica la configuración más reciente de la directiva de grupo sin reiniciar. Si todo funciona correctamente, se aplicarán las directivas asociadas a ese grupo y se reflejará la nueva membresía.
Si observa el error «El ID de inicio de sesión actual es…» o se queda atascado, es posible que deba ejecutar el comando como SYSTEM. Puede hacerlo con PsExec, parte de Sysinternals:
psexec -s -i -d cmd.exe
Luego, ejecuta los comandos klist purgey gpupdate /forcedentro del contexto SYSTEM. Esta parte es un poco engañosa, pero suele ser útil cuando los derechos de administrador normales se ven limitados.
Este método es una salvación para clientes remotos o conectados a VPN, donde reiniciar no es una opción pero es necesario aplicar actualizaciones rápidamente.
Recargar la membresía de grupos de usuarios sin cerrar sesión
Añadir a alguien a un grupo de seguridad no se aplica hasta que cierra sesión y vuelve a iniciarla. Windows clásico. Pero si necesita actualizar los grupos en una sesión activa sin forzar el cierre de sesión, también puede purgar los tickets Kerberos del usuario. Esto es especialmente útil si acaba de añadir un usuario a un grupo de AD que otorga acceso a recursos compartidos.
Abra un símbolo del sistema con ese usuario (sin modo administrador, solo un shell normal).Ejecute:
klist purge
Esto borra todos los tickets de Kerberos, incluidas las membresías de grupo, y obliga a una actualización en la siguiente solicitud. Para ver la nueva membresía de grupo, cree una nueva ventana de comandos con los tokens actualizados:
runas /user:DOMAIN\username cmd
Luego enumera los grupos con:
whoami /groups
Si está en un entorno con sesiones de Escritorio remoto (RDS), puede hacer esto para todos los usuarios de forma remota con PowerShell:
Get-WmiObject Win32_LogonSession | Where-Object {$_. AuthenticationPackage -ne 'NTLM'} | ForEach-Object {klist.exe purge -li ([Convert]::ToString($_. LogonId, 16))}
Pero, para que los permisos se reflejen inmediatamente, es posible que deba reiniciar el proceso del Explorador de archivos para ese usuario (o cada sesión de RDS).
- Abra el símbolo del sistema.
- Matar al explorador:
taskkill /f /im explorer.exe - Inicie una nueva instancia de Explorer con las mismas credenciales:
runas /user:DOMAIN\username explorer.exe - Inicie sesión con la contraseña como de costumbre.
Esto es un poco complicado, pero a menudo es la única forma de actualizar el token en sesiones activas.
Y, solo un aviso: si usa un nombre de servidor corto (como \\SERVER\Sharing ) y luego cambia a FQDN ( \\server.company.local\Sharing ), se emitirán diferentes tickets Kerberos. Usar nombres NetBIOS a veces puede ayudar a restablecer la información del grupo más rápido. Después de borrar los tickets, intente acceder al recurso compartido mediante su nombre corto en lugar de su FQDN para forzar la emisión de un nuevo ticket.
Para verificar que sus boletos estén vigentes, consulte el TGT con:
klist tgt
Si todos los tickets tienen la hora de inicio actual, debería ver las membresías de grupo actualizadas. De esta manera, los nuevos permisos surten efecto sin la molestia de cerrar sesión o reiniciar.
No es 100% infalible, pero en muchos casos, este enfoque permite que todo funcione sin problemas hasta que reiniciar es absolutamente inevitable.
Resumen
- Úselo
klist.exepara purgar tickets Kerberos sin reiniciar. - Ejecutar
gpupdate /forcedespués de purgar para aplicar nuevos GPO. - Para actualizar el grupo de usuarios, elimine los tickets de sesión y abra una nueva sesión de comando.
- Recuerde que los servicios NTLM aún necesitan cerrar sesión y reiniciarse para actualizar los tokens.
Resumen
Gestionar las actualizaciones de miembros de grupo en entornos activos es un poco complejo en la administración de Windows; no debería ser tan complicado, pero aquí estamos. Estos trucos de línea de comandos pueden ahorrar mucho tiempo, especialmente en configuraciones remotas o cuando reiniciar no es práctico. Recuerda: si algo no se actualiza de inmediato, reiniciar podría ser la solución definitiva. Esperamos que estos consejos te ayuden a evitarlo siempre.