PsExec v2.40
Por Mark Russinovich
Publicado: 19 de julho de 2022
O Download PsTools(3.5 MB)
Introdução
Utilitários como telnet e programas de controlo remoto como o PC da Symantec Em qualquer lugar permitem executar programas em sistemas remotos, mas podem ser uma chatice para configurar e exigir que instale software de clientes nos sistemas remotos a que pretende aceder. O PsExec é uma substituição de telnet leve que permite executar processos noutros sistemas, completos com total interatividade para aplicações de consola, sem ter de instalar manualmente software cliente. As utilizações mais poderosas do PsExec incluem o lançamento de pedidos de comando interativos em sistemas remotos e ferramentas de ativação remota como o IpConfig que de outra forma não têm a capacidade de mostrar informações sobre sistemas remotos.
Nota: alguns scanners antivírus relatam que uma ou mais das ferramentas estão infetadas com um vírus "administrador remoto". Nenhum dos Bancos Ps contém vírus, mas foram usados por vírus, razão pela qual desencadeiam notificações de vírus.
Instalação
Basta copiar o PsExec para o seu caminho executável. Digitar "psexec" exibe a sua sintaxe de utilização.
Utilizar o PsExec
Consulte a edição de julho de 2004 da Revista Windows IT Pro para o artigo de Mark que cobre o uso avançado do PsExec.
Utilização:
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 |
|---|---|
| - um | Processadores separados nos quais a aplicação pode funcionar com vírgulas onde 1 é o CPU numerado mais baixo. Por exemplo, para executar a aplicação no CPU 2 e CPU 4, insira: "-a 2,4" |
| -c | Copie o executável especificado para o sistema remoto para execução. Caso omita esta opção, a aplicação deve estar no caminho do sistema no sistema remoto. |
| -d | Não aguarde que o processo termine (não interativo). |
| -e | Não carrega o perfil da conta especificada. |
| -f | Copie o programa especificado mesmo que o ficheiro já exista no sistema remoto. |
| -i | Executar o programa de modo a interagir com o ambiente de trabalho da sessão especificada no sistema remoto. Se não for especificada nenhuma sessão, o processo é executado na sessão de consola. Esta bandeira é necessária quando se tenta executar aplicações de consola interativamente (com IO padrão redirecionado). |
| -h | Se o sistema alvo for o Vista ou superior, o processo é executado com o token elevado da conta, se disponível. |
| -l | Executar o processo como utilizador limitado (retira o grupo de Administradores e permite apenas privilégios atribuídos ao grupo Utilizadores). No Windows Vista o processo é executado com Baixa Integridade. |
| -n | Especifica o intervalo em segundos de ligação a computadores remotos. |
| -p | Especifica a palavra-passe opcional para o nome de utilizador. Se omitir isto, será solicitado que introduza uma senha escondida. |
| -r | Especifica o nome do serviço remoto para criar ou interagir. |
| -s | Executar o processo remoto na conta Do Sistema. |
| -u | Especifica o nome de utilizador opcional para o login para o computador remoto. |
| -v | Copie o ficheiro especificado apenas se tiver um número de versão mais elevado ou se for mais recente do que o do sistema remoto. |
| -w | Desative o diretório de trabalho do processo (relativamente ao computador remoto). |
| -x | Mostrar a UI no ambiente de trabalho seguro Winlogon (apenas sistema local). |
| -prioridade | Especifica -baixo, -abaixonormal, -acima de normal, -em tempo real ou em tempo real para executar o processo em uma prioridade diferente. Use o fundo para executar com memória baixa e prioridade de E/S no Vista. |
| computador | Direcione o PsExec para executar a aplicação no computador remoto ou computadores especificados. Se omitir o nome do computador, o PsExec executa a aplicação no sistema local e se especificar um wildcard (\\*), o PsExec executa o comando em todos os computadores do domínio atual. |
| @file | O PsExec executará o comando em cada um dos computadores listados no ficheiro. |
| cmd | Nome da aplicação a executar. |
| argumentos | Argumentos a passar (note que os caminhos de arquivo devem ser caminhos absolutos no sistema alvo). |
| -accepteula | Esta bandeira suprime a visualização do diálogo da licença. |
Pode incluir aplicações que tenham espaços em seu nome com aspas, por exemplo.
psexec \\marklap "c:\\long name app.exe"
A entrada só é transmitida para o sistema remoto quando pressiona a tecla 'Entrar'. Digitar ctrl-C termina o processo remoto.
Se omitir um nome de utilizador, o processo será executado no contexto da sua conta no sistema remoto, mas não terá acesso aos recursos da rede (porque se está a passar). Especifique um nome de utilizador válido na Domain\User sintaxe se o processo remoto necessitar de acesso aos recursos de rede ou de funcionar numa conta diferente. Note que a palavra-passe e o comando estão encriptados em trânsito para o sistema remoto.
Os códigos de erro devolvidos pelo PsExec são específicos das aplicações que executa, e não do PsExec.
Exemplos
Este artigo que escrevi descreve como o PsExec funciona e dá dicas sobre como usá-lo:
O seguinte comando lança uma solicitação de comando interativo em \\marklap:
psexec -i \\marklap cmd
Este comando executa o IpConfig no sistema remoto com o /all comutador e exibe a saída resultante localmente:
psexec -i \\marklap ipconfig /all
Este comando copia o programa test.exe para o sistema remoto e executa-o interativamente:
psexec -i \\marklap -c test.exe
Especifique o caminho completo para um programa que já está instalado num sistema remoto se não estiver no caminho do sistema:
psexec -i \\marklap c:\bin\test.exe
Executar regedit interativamente na conta do Sistema para ver o conteúdo das teclas SAM e SECURITY::
psexec -i -d -s c:\windows\regedit.exe
Para executar o Internet Explorer como com privilégios de utilizador limitados, utilize este comando:
psexec -l -d "c:\program files\internet explorer\iexplore.exe"
O Download PsTools(3.5 MB)
PSTools
O PsExec faz parte de um kit crescente de ferramentas de linha de comando Sysinternals que ajudam na administração de sistemas locais e remotos chamados PsTools.
Continua:
- Cliente: Windows 8.1 e superior.
- Servidor: Windows Server 2012 e mais alto.