Limpando o cache de tíquete Kerberos em todas as contas.

Olá pessoal!

Publiquei uma dica sobre o comando klist.exe e como ele pode ser usado para limpar todos os caches dos tíquetes Kerberos do usuário atual e com isso carregar imediatamente as novas permissões atribuídas ao usuário.

Como o PowerShell pode executar aplicações externas como o klist.exe de forma transparente, esses recursos se tornam mais úteis quando combinados com outros cmdlets do PowerShell. O código abaixo lista todas sessões de logon que não usam NTLM (por exemplo, sessões Kerberos):

Get-WmiObject -ClassName Win32_LogonSession -Filter "AuthenticationPackage != 'NTLM'"

Execute em um console com privilégios administrativos no PowerShell para ver todas as sessões de logon. Com alguns ajustes mínimos você consegue o valor hexadecimal dos identificadores de logon:

Get-WmiObject -ClassName Win32_LogonSession -Filter "AuthenticationPackage != 'NTLM'" | ForEach-Object {[Convert]::ToString($_.LogonId, 16)}

Para limpar todos os tíquetes Kerberos em cache de todas as sessões diponíveis, você pode executar o seguinte código a partir de um console do PowerShell com privilégios administrativos:

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

Até a próxima!