# PsExec - Sysinternals | Microsoft Learn

Aqui está um resumo em português do artigo sobre o PsExec v2.43 (por Mark Russinovich):

Visão geral

* PsExec é uma ferramenta leve que substitui o Telnet para executar processos em sistemas remotos sem instalar um cliente remoto. Oferece interatividade completa para aplicativos de console e é útil para iniciar prompts remotos e executar ferramentas que precisam de acesso local para mostrar informações (por exemplo, ipconfig).
* Observação de segurança: alguns antivírus podem sinalizar PsTools como “administrador remoto” porque malwares já utilizaram essas ferramentas. As PsTools não contêm vírus.

Instalação

* Copie o executável do PsExec para um diretório do PATH. Executar "psexec" no prompt exibe a sintaxe de uso.
* Download: <https://download.sysinternals.com/files/PSTools.zip>

Uso e opções principais

* Sintaxe geral: 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] \[-] \[-g n] \[-a n,n,...] \[-accepteula] \[-nobanner] cmd \[arguments]
* Opções importantes (resumo):
  * -c: copia o executável para o sistema remoto antes de executar.
  * -i: permite interação com a área de trabalho da sessão especificada (necessário para E/S padrão redirecionada).
  * -d: não espera o término do processo (modo não interativo).
  * -s: executa como System.
  * -u / -p: credenciais para logon remoto; use Domain\User para acesso a recursos de rede.
  * -h: eleva o token em sistemas Vista ou superiores se disponível.
  * -l: executa com privilégios limitados.
  * -n: define tempo limite de conexão em segundos.
  * -f / -v: forçar cópia ou copiar somente se versão mais nova.
  * -w: diretório de trabalho remoto.
  * -priority: definir prioridade do processo (ex.: -low, -high).
  * -accepteula / -nobanner: suprimir diálogo de licença ou banner.
* Observações: caminhos de arquivo nos argumentos devem ser absolutos no sistema remoto. Entrada só é enviada ao remoto quando Enter é pressionado; Ctrl-C termina o processo remoto. Senha e comando são criptografados em trânsito. Códigos de erro retornados refletem o aplicativo executado, não o PsExec.

Exemplos práticos

* Iniciar prompt de comando interativo em \marklap: psexec -i \marklap cmd
* Executar ipconfig /all remotamente e ver saída local: psexec -i \marklap ipconfig /all
* Copiar e executar test.exe no remoto: psexec -i \marklap -c test.exe
* Executar programa instalado no remoto informando caminho completo: psexec -i \marklap c:\bin\test.exe
* Executar Regedit como System para ver chaves SAM e SECURITY: psexec -i -d -s c:\windows\regedit.exe
* Executar Internet Explorer com conta de usuário limitada: psexec -l -d "c:\program files\internet explorer\iexplore.exe"

Compatibilidade

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

Recursos adicionais

* Artigo detalhado sobre funcionamento e dicas: <https://www.itprotoday.com/compute-engines/psexec>
* Download das PsTools: <https://download.sysinternals.com/files/PSTools.zip>

Última atualização do artigo: 25/07/2024

Se quiser, posso transformar esse resumo em uma versão ainda mais curta (uma ou duas frases) ou em um passo a passo rápido de uso com exemplos práticos. Qual prefere?
