Utilitários como o Telnet e programas de controle remoto, como o PCAnywhere, da Symantec, permitem que você execute programas em sistemas remotos, mas podem ser difíceis de configurar e requerem que você instale o software cliente nos sistemas remotos que desejar acessar. O PsExec é um substituto leve do telnet, que lhe possibilita executar processos em outros sistemas, completar aplicativos de console com total interatividade, sem ter que instalar manualmente o software cliente. Os usos mais poderosos do PsExec incluem iniciação de prompts de comando interativos em sistemas remotos e ferramentas de habilitação remota, como o IpConfig, que, de outra forma, não teria a capacidade de mostrar informações sobre sistemas remotos.
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]
-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.
Exemplos:
O seguinte comando inicia um prompt de comando interativo em \\marklap:
Adicionar um usuário do domínio como administrador de uma máquina em específico, remotamente:
Sintaxe
psexec [\\computer[,computer2[,...] | @file][-u user [-p psswd]][-n s][-l][-s|-e][-x][-i [session]][-c [-f|-v]][-w directory][-d][-
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 /allEste comando copia o programa test.exe no sistema remoto e o executa interativamente:
psexec \\marklap -c test.exeEspecifica 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.exeExecuta o Regedit interativamente na conta System para exibir o conteúdo das chaves SAM e SECURITY:
psexec -i -d -s c:\windows\regedit.exePara executar o Internet Explorer com privilégios de usuário limitado, use este comando:
psexec -l -d "c:\program files\internet explorer\iexplore.exe"Adicionar um usuário do domínio como administrador de uma máquina em específico, remotamente:
psexec maquinaremota net localgroup administrators /add DOMAINusername
Clique aqui para baixar o Kit PsTools.
Nenhum comentário:
Postar um comentário