domingo, abril 23, 2017
Home » Windows » 7 Seven » Executar comando remotamente com PSEXEC

Executar comando remotamente com PSEXEC

Programas de acesso remoto não são mais novidades hoje em dia, há diversas opções como PCAnyWhere, VNC, entre outros…

Hoje veremos um prompt de comando remoto, o psexec, da Sysinternal. A sua função é justamente executar um comando via prompt em outro PC.

Instalação
Copie o PsExec no seu caminho do executável. Digite “psexec” para exibir a sintaxe de uso. O PsExec funciona no Windows Vista, no NT 4, no Win2K, no Windows XP e no Server 2003, incluindo as versões de x64 do Windows.
Sintaxe

psexec [\\computer[,computer2[,…] | @file][-u user [-p psswd]][-n s][-l][-s|-e][-x][-i [session]][-c [-f|-v]][-w directory][-d][-][-a n,n,… ] cmd [arguments]

computer : Direcione o PsExec para executar o aplicativo no computador ou nos computadores especificados. Se você omitir o nome do computador, o PsExec executa o aplicativo no sistema local e, se você inserir o nome do computador como “\\*”, o PsExec executa os aplicativos em todos os computadores do domínio atual.
@file : Direciona o PsExec para executar o comando em cada computador listado no arquivo de texto especificado.

-a
: Separa processadores nos quais o aplicativo pode ser executado sem vírgulas, onde 1 é a CPU com o número mais baixo. Por exemplo, para executar o aplicativo na CPU 2 e na CPU 4, digite: “-a 2,4″.
-c : Copia o programa especificado no sistema remoto para execução. Se você omitir esta opção, o aplicativo deve estar no caminho do sistema, no sistema remoto.
-d : Não espere o aplicativo encerrar. Só use esta opção para aplicativos não interativos.
-e : Não carrega o perfil da conta especificada.
-f : Copia o programa especificado no sistema remoto, mesmo que o arquivo já exista neste local.
-i : Executa o programa de modo 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 de console.
 -l :Executa o processo como usuário limitado (remove o grupo Administrators (Administradores) e permite apenas privilégios atribuídos ao grupo Users (Usuários). No Windows Vista o processo é executado com Baixa integridade.

 -n : Especifica o tempo limite em segundos para conectar-se aos computadores remotos.
-p : Especifica uma senha opcional para o nome de usuário. Se omitir isso, você será solicitado a inserir uma senha oculta.
-s : Executa o processo remoto na conta System (Sistema):
-u : Especifica um nome de usuário opcional para o logon no computador remoto.
-v : Copia o campo especificado somente se ele tiver um número de versão superior ou se for mais recente do que a versão do sistema remoto.
-w : Define o diretório de trabalho do processo (relativo ao computador remoto).
-x : Exibe a interface do usuário na área de trabalho do Winlogon (apenas no sistema local).
-priority : Especifica -low, -belownormal, -abovenormal, -high ou -realtime para executar o processo em uma prioridade diferente.
program : Nome do programa para executar.
arguments : Argumentos para transferir (observe que os caminhos de arquivo devem ser caminhos absolutos no sistema de destino).

Você pode colocar entre aspas os aplicativos que tiverem espaços no nome, por exemplo: “psexec \\marklap “c:\long name\app.exe”. A entrada só é transferida para o sistema remoto quando você pressiona a tecla Enter e digita Ctrl-C para encerrar o processo remoto.

Se você omite um nome de usuário, o processo remoto é executado na mesma conta de onde você executa o PsExec, mas, como o processo remoto é pessoalizado, ele não terá acesso a recursos de rede no sistema remoto. Quando você especifica um nome de usuário, o processo remoto é executado na conta especificada e tem acesso a qualquer recurso de rede a que a conta tenha acesso. Observe que a senha é transmitida em texto não criptografado para o sistema remoto.

Você pode usar a versão atual do PsExec como uma substituição Runas quando você direciona o sistema local, porque o PsExec não requer que você seja um administrador.
Exemplos
O seguinte comando inicia um prompt de comando interativo em \\marklap: psexec \\marklap cmd

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

psexec \\marklap ipconfig /all

Este comando copia o programa test.exe no sistema remoto e o executa interativamente:

psexec \\marklap -c test.exe

Especifica o caminho completo para um programa que já esteja instalado em um sistema remoto, se ele não estiver no caminho do sistema.

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

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

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

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

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

O PsExec faz parte de um kit cada vez maior de ferramentas de linha de comando da Sysinternals que auxiliam na administração de sistemas Windows NT/2K locais e remotos, chamadas PsTools.

 

 

Bom, é isso aí Pessoal, até a próxima!

Sobre Diego Duarte

Diego Duarte Atua como coordenador de NOC & ITO

Veja também!

Script para limpar os arquivos temporários de todos os usuários

Saudações, pessoal. Não é novidade que arquivos temporários do Windows podem consumir grandes quantidades de …

Este artigo lhe foi útil? comente e ajude outros acrescentando seu ponto de vista!