Handle - Sysinternals | Microsoft Learn

Aqui está um resumo conciso do artigo sobre o Handle v5.0 (por Mark Russinovich):

O que é

O Handle é um utilitário que exibe identificadores (handles) abertos por processos no sistema Windows. Permite descobrir quais programas têm arquivos ou diretórios abertos e ver tipos de objeto e nomes associados aos identificadores. Há também uma versão GUI equivalente chamada Process Explorer.

Instalação e execução

  • Baixe: https://download.sysinternals.com/files/Handle.zip

  • Execute digitando: handle

  • É necessário privilégio administrativo para usar o Handle.

1

Executar uma busca simples

Digite handle sem parâmetros para listar todos os identificadores relacionados a arquivos abertos no sistema e os nomes dos arquivos.

2

Buscar por nome

Passe um fragmento de nome para filtrar objetos (correspondência sem distinção de maiúsculas/minúsculas), por exemplo: handle windows\system Isso mostra processos/handles que contenham esse fragmento no caminho.

3

Restringir por processo

Use -p <processo|pid> para limitar a verificação a processos cujo nome comece com o valor fornecido: Exemplo: handle -p exp (inclui Explorer)

4

Fechar um handle

Use -c <handle> junto com o PID do processo para fechar um identificador (handle é em hexadecimal). Use -y para não pedir confirmação.

circle-exclamation

Principais parâmetros (resumo)

  • -a : Mostrar todos os tipos de identificadores (não só arquivos).

  • -l : Mostrar apenas identificadores de seção apoiados em arquivo de página.

  • -c : Fechar o identificador especificado (hex) — requer PID.

  • -g : Imprimir o acesso concedido.

  • -y : Não confirmar fechamento de identificador.

  • -s : Imprimir contagem de cada tipo de identificador aberto.

  • -u : Mostrar o nome de usuário proprietário ao pesquisar identificadores.

  • -v : Saída CSV com delimitador de vírgula.

  • -vt : Saída CSV com delimitador de tabulação.

  • -p | : Restringe verificação a processos cujo nome comece com o valor.

  • name : Fragmento de nome para pesquisar objetos com esse nome (case-insensitive).

Exemplo de sintaxe: handle [[-a [-l]] [-v|-vt] [-u] | [-c <handle> [-y]] | [-s]] [-p <process>|<pid>] [name]

Saída

  • Modo normal (sem pesquisa): a saída é dividida por processo; cada seção mostra nome do processo, PID, valores de handle (hex), tipo de objeto e nome do objeto (se houver).

  • Modo de pesquisa (com fragmento de nome): os nomes dos processos e PIDs aparecem à esquerda e os nomes dos objetos correspondentes à direita.

Mais informações

Para aprofundar, o artigo recomenda consultar o "Windows Internals, 4ª Edição" ou usar a ferramenta WinObj para navegar no namespace do Object Manager.

Download: https://download.sysinternals.com/files/Handle.zip

Última atualização do artigo: 10/08/2023.