PsExec v2.40
Por Mark Russinovich
Publicado em: 19 de julho de 2022
o 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"
o 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.