PsExec v2.40

Por Mark Russinovich

Publicado em: 19 de julho de 2022

Baixaro PsTools(3,5 MB)

Introdução

Utilitários como Telnet e programas de controle remoto, como o COMPUTADOR da Symantec, em qualquer lugar, permitem que você execute programas em sistemas remotos, mas eles podem ser uma dor para configurar e exigir que você instale o software cliente nos sistemas remotos que deseja acessar. O PsExec é uma substituição de telnet leve 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 ferramentas de habilitação remota, como o IpConfig, que de outra forma não têm a capacidade de mostrar informações sobre sistemas remotos.

Observação: alguns scanners antivírus relatam que uma ou mais das ferramentas estão infectadas com um vírus "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 PsExec no caminho executável. Digitar "psexec" exibe sua sintaxe de uso.

Usando o PsExec

Consulte a edição de julho de 2004 do artigo daRevista Windows IT Pro para 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 executable [-f|-v]][-w directory][-d][-<priority>][-a n,n,...] cmd [arguments]
Parâmetro DESCRIÇÃO
-a Separar processadores nos quais o aplicativo pode ser executado com vírgulas em que 1 é a CPU numerada mais baixa. Por exemplo, para executar o aplicativo na CPU 2 e na 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 que o processo seja 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, o processo será executado 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 em segundos de conexão a computadores remotos.
-p Especifica a senha opcional para o nome de usuário. Se você omitir isso, será solicitado que você insira 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 (relativo 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 memória e prioridade de E/S no Vista.
computador Direcione o PsExec para executar o aplicativo no computador remoto ou computadores 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.

Você pode incluir aplicativos que têm espaços em seu nome com 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á se passando). Especifique um nome de usuário válido na Domain\User sintaxe 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 por PsExec são específicos para os aplicativos que você executa, nã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 o IpConfig no sistema remoto com o /all comutador 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 caminho 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 com privilégios de usuário limitado, use este comando:

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

Baixaro PsTools(3,5 MB)

PSTools

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

Executa em:

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