Todos los administradores de Windows saben que después de que se agrega una computadora o un usuario a un grupo de seguridad de Active Directory, los nuevos permisos para acceder a los recursos del dominio o los nuevos GPO no se aplican de inmediato. Para actualizar la membresía del grupo y aplicar los permisos asignados o las Políticas de grupo, debe reiniciar la computadora (si se agregó una cuenta de computadora al grupo de dominio) o realizar un cierre de sesión y un inicio de sesión (para el usuario). Esto se debe a que las membresías de grupos de AD se actualizan cuando se crea un ticket de Kerberos, lo que ocurre al inicio del sistema o cuando un usuario se autentica durante el inicio de sesión.

En algunos casos, el reinicio de la computadora o el cierre de sesión del usuario no se pueden realizar de inmediato por razones de producción. Al mismo tiempo, debe utilizar los permisos, acceder o aplicar nuevas Políticas de grupo ahora mismo. En esos casos, puede actualizar la membresía de la cuenta en los grupos de Active Directory sin reiniciar la computadora o volver a iniciar sesión el usuario utilizando la herramienta klist.exe.

Nota. El método descrito en este artículo funcionará solo para servicios de red que admitan la autenticación Kerberos. Los servicios que funcionan solo con autenticación NTLM aún requieren el cierre de sesión + inicio de sesión de un usuario o reinicio de Windows.

Puede obtener la lista de grupos de los que el usuario actual es miembro en el símbolo del sistema mediante los siguientes comandos:

whoami /groups

o GPResult

gpresult /r

La lista de grupos a los que pertenece un usuario se muestra en la sección El usuario es parte de los siguientes grupos de seguridad.

Puede restablecer los tickets Kerberos actuales sin reiniciar utilizando el klist.exe herramienta. Klist es una herramienta del sistema incorporada a partir de Windows 7. Para Windows XP / Windows Server 2003, klist se instala como parte de las herramientas del kit de recursos de Windows Server 2003.

¿Cómo actualizar el ticket Kerberos y actualizar la membresía del grupo de computadoras sin reiniciar?

Para restablecer todo el caché de tickets Kerberos de una computadora (sistema local) y actualizar la membresía de la computadora en grupos de AD, debe ejecutar el siguiente comando en el símbolo del sistema elevado:

klist -li 0:0x3e7 purge

klist -lh 0 -li 0x3e7 purga

Nota. 0x3e7 es un identificador especial que apunta a una sesión de la computadora local (Sistema local).

Después de ejecutar el comando y actualizar las políticas (puede actualizar las políticas con el gpupdate /force comando), todas las políticas de grupo asignadas al grupo de AD a través del filtrado de seguridad se aplicarán a la computadora.

Si las políticas de restricción de acceso de LSA están configuradas en su dominio (por ejemplo, la política del Programa de depuración que restringe el uso de SeDebugPrivilege) u otras políticas de seguridad, en algunos casos cuando ejecuta el klist -li 0: 0x3e7 purge comando, obtiene un error como: "Error al llamar a API LsaCallAuthenticationPackage”:

Current LogonId is 0:0x3d2de2
Targeted LogonId is 0:0x3e7
*** You must run this tool while being elevated, and you must have TCB or be a local admin.***
klist failed with 0xc0000001/-1073741823: {Operation Failed}
The requested operation was unsuccessful.

klist 0x3e7 purga falló con 0xc0000001

En este caso, puede purgar el ticket Kerberos de su computadora en nombre de NT AUTHORITY SYSTEM. La forma más sencilla de hacerlo es con el psexec herramienta:

psexec -s -i -d cmd.exe - ejecutar cmd en nombre del sistema local

klist purge - reinicio de ticket de computadora

gpupdate /force - actualizar GPO

Klist: Purgar el ticket Kerberos del usuario sin cerrar la sesión

Otro comando se utiliza para actualizar los grupos de seguridad de Active Directory asignados en la sesión del usuario. Por ejemplo, se ha agregado una cuenta de usuario de dominio a un grupo de Active Directory para acceder a una carpeta de red compartida. El usuario no podrá acceder a esta carpeta compartida sin cerrar sesión.

acceso compartido denegado

Para actualizar los tickets de Kerberos del usuario, utilice este comando:

klist purge

Current LogonId is 0:0x5e3d69
Deleting all tickets:
Ticket(s) purged!

purga de klist

Para ver la lista actualizada de grupos, debe ejecutar un nuevo símbolo del sistema utilizando runas (para que se cree un nuevo proceso con un nuevo token de seguridad).

En el servidor RDS, puede restablecer los tickets de Kerberos para todas las sesiones remotas de usuarios a la vez utilizando el siguiente resumen de PowerShell:

Get-WmiObject Win32_LogonSession | Where-Object {$_.AuthenticationPackage -ne 'NTLM'} | ForEach-Object {klist.exe purge -li ([Convert]::ToString($_.LogonId, 16))}

Suponga que el grupo de AD se ha asignado a un usuario para acceder a una carpeta compartida. Intente acceder a él utilizando su FQDN nombre (!!! esto es importante, por ejemplo, \ lon-fs1.woshub.loc Install). En este punto, se emite un nuevo ticket de Kerberos al usuario. Puedes comprobar que se ha actualizado el ticket TGT:

klist tgt

(ver Cached TGT Start Time valor)

klist tgt ticket renovado

La carpeta compartida a la que se otorgó acceso a través del grupo de AD debe abrirse sin que el usuario cierre la sesión.

Puede comprobar que el usuario recibió un nuevo TGT con grupos de seguridad actualizados (sin cerrar la sesión) con el whoami /all mando.

acceso compartido de ruta fqdn

Le recordamos que esta forma de actualizar la membresía del grupo de seguridad funcionará solo para los servicios que admiten Kerberos. Para los servicios con autenticación NTLM, se requiere reiniciar la computadora o cerrar la sesión del usuario para actualizar el token.

Recomendado para ti