PsExec v2.44

Por Mark Russinovich

Publicado: 5 de novembro de 2026

Baixar Baixar PsTools(5 MB)

Introdução

Utilitários como Telnet e programas de controle remoto como o PC Anywhere da Symantec permitem que você execute programas em sistemas remotos, mas eles podem ser difíceis de configurar e exigem que você instale o software cliente nos sistemas remotos que deseja acessar. O PsExec é uma substituição leve para o Telnet, que permite executar processos em outros sistemas, completos com interatividade total para aplicativos de console, sem precisar instalar manualmente o software cliente. Os usos mais poderosos do PsExec incluem iniciar prompts de comando interativos em sistemas remotos e habilitar remotamente ferramentas como IpConfig, que de outra forma não têm a capacidade de mostrar informações sobre sistemas remotos.

Observação: alguns verificadores antivírus relatam que uma ou mais das ferramentas estão infectadas com um vírus de "administrador remoto". Nenhum dos PsTools contém vírus, mas eles foram usados por vírus, razão pela qual disparam notificações de vírus.

Instalação

Basta copiar o PsExec para o PATH de executáveis. Digite "psexec" para exibir sua sintaxe de uso.

Usando o PsExec

Confira a edição de julho de 2004 da Windows IT Pro Magazine para ver o artigo do Mark que aborda o uso avançado do PsExec.

Uso:

psexec [\\\\computer[,computer2[,...] | @file]][-u user [-p psswd]][-n s][-r servicename][-h][-l][-s|-e][-x][-i [session]][-c [-f|-v]][-w directory][-d][-<priority>][-g n][-a n,n,...][-accepteula][-nobanner] cmd [arguments]
Parâmetro Descrição
-a Separe os processadores com vírgulas, em que 1 é a CPU de menor número. Por exemplo, para executar o aplicativo na CPU 2 e CPU 4, insira: "-a 2,4"
-c Copie o executável especificado para o sistema remoto para execução. Se você omitir essa opção, o aplicativo deverá estar no caminho do sistema no sistema remoto.
-d Não espere o processo ser encerrado (não interativo).
-e Não carrega o perfil da conta especificada.
-f Copie o programa especificado mesmo que o arquivo já exista no sistema remoto.
-i Execute o programa para que ele interaja com a área de trabalho da sessão especificada no sistema remoto. Se nenhuma sessão for especificada, o processo será executado na sessão do console. Esse sinalizador é necessário ao tentar executar aplicativos de console interativamente (com E/S padrão redirecionada).
-h Se o sistema de destino for Vista ou superior, execute o processo com o token elevado da conta, se disponível.
-l Execute o processo como usuário limitado (remove o grupo Administradores e permite apenas privilégios atribuídos ao grupo Usuários). No Windows Vista, o processo é executado com baixa integridade.
-n Especifica o tempo limite de conexão a computadores remotos, em segundos.
-p Especifica a senha opcional para o nome de usuário. Se você omitir isso, será solicitado que digite uma senha oculta.
-r Especifica o nome do serviço remoto com o qual criar ou interagir.
-s Execute o processo remoto na conta do sistema.
-u Especifica o nome de usuário opcional para logon no computador remoto.
-v Copie o arquivo especificado somente se ele tiver um número de versão mais alto ou for mais recente do que o do sistema remoto.
-w Defina o diretório de trabalho do processo (em relação ao computador remoto).
-x Exiba a interface do usuário na área de trabalho segura do Winlogon (somente no sistema local).
-priority Especifica -low, -belownormal, -abovenormal, -high ou -realtime para executar o processo em uma prioridade diferente. Use -background para executar com baixa prioridade de memória e de E/S no Vista.
computer Direcione o PsExec para executar o aplicativo no computador remoto ou nos computadores remotos especificados. Se você omitir o nome do computador, o psExec executará o aplicativo no sistema local e, se você especificar um curinga (\\*), o psExec executará o comando em todos os computadores no domínio atual.
@file O PsExec executará o comando em cada um dos computadores listados no arquivo.
cmd Nome do aplicativo a ser executado.
argumentos Argumentos a serem passados (observe que os caminhos de arquivo devem ser caminhos absolutos no sistema de destino).
-accepteula Esse sinalizador suprime a exibição da caixa de diálogo de licença.
-nobanner Essa opção suprime o banner de inicialização e a mensagem de direitos autorais.

Você pode colocar aplicativos que têm espaços em seu nome entre aspas, por exemplo

psexec \\marklap "c:\\long name app.exe"

A entrada só é passada para o sistema remoto quando você pressiona a tecla Enter. Digitar Ctrl-C encerra o processo remoto.

Se você omitir um nome de usuário, o processo será executado no contexto de sua conta no sistema remoto, mas não terá acesso aos recursos de rede (porque ele está personificando). Especifique um nome de usuário válido na sintaxe Domain\User se o processo remoto exigir acesso aos recursos de rede ou para ser executado em uma conta diferente. Observe que a senha e o comando são criptografados em trânsito para o sistema remoto.

Os códigos de erro retornados pelo PsExec são específicos para os aplicativos que você executa, não para o PsExec.

Exemplos

Este artigo que escrevi descreve como o PsExec funciona e fornece dicas sobre como usá-lo:

O comando a seguir inicia um prompt de comando interativo em \\marklap:

psexec -i \\marklap cmd

Esse comando executa IpConfig no sistema remoto com a opção /all e exibe a saída resultante localmente:

psexec -i \\marklap ipconfig /all

Esse comando copia o programa test.exe para o sistema remoto e o executa interativamente:

psexec -i \\marklap -c test.exe

Especifique o caminho completo para um programa que já está instalado em um sistema remoto se ele não estiver no PATH do sistema:

psexec -i \\marklap c:\bin\test.exe

Execute o Regedit interativamente na conta do sistema para exibir o conteúdo das chaves SAM e SECURITY::

psexec -i -d -s c:\windows\regedit.exe

Para executar o Internet Explorer como se estivesse com privilégios de usuário limitado, use este comando:

psexec -l -d "c:\program files\internet explorer\iexplore.exe"

Download Baixar PsTools(5 MB)

PSTools

O PsExec faz parte de um kit crescente de ferramentas de linha de comando do Sysinternals chamado PsTools, que auxiliam na administração de sistemas locais e remotos.

Funciona em:

  • Cliente: Windows 8.1 e superior.
  • Servidor: Windows Server 2012 e superior.