28
maio 2022

Instalando Aplicações Remotas com PSEXEC

Escrito por Mario Medeiros 2 comentários

Quando eu trabalhava com redes windows, que são as mais comuns (infelizmente) em ambientes corporativos, tive algumas situações interessantes e outras bem incômodas.

Mesmo o ambiente tendo um AD (o famigerado Active Directory da MS) muitas vezes pode não ser possível (por N razões e motivos diversos) trabalhar com as GPOs para gerenciar alguns pormenores e com isso usamos técnicas diversas.

Uma delas é instalar aplicações em rede em N máquinas simultaneamente, ou em lote.

Existem diversas ferramentas pagas e não pagas para esta tarefa.

Nos testes eu utilizei uma ferramenta do pacote PSTOOLS da Winternals/Sysinternals (uma subisidiária da Miscrosoft) o PSEXEC. (https://docs.microsoft.com/en-us/sysinternals/downloads/pstools)

Este aplicativo do pacote/suite PSTOOLS executa processos remotamente e com isso poderemos instalar e executar aplicativos em estações de trabalho da rede.

Nos meus testes encontrei alguns contratempos, sendo necessário utilizar outros métodos para contornar. Mas penso que uma leitura mais detalhada da documentação e demais sites, possa resolver. No meu caso funcionou como eu precisava, então mantive meu método.

Procedimentos que executei

Baixei o psexec.exe do seguinte link: PSTOOLS

Descompactei num diretório e copiei somente o psexec.exe para o diretório c:\windows\system32 para ser chamado de qualquer local pelo CMD (prompt do DOS).

Sim sim. Terá que utilizar o DOS.

 

Obs 0: Quem tiver “medo do escuro” deverá perder esse medo ou então ficará limitado demais. Mas isso é uma conversa para um outro momento. Venha para o Lado Negro da Força!

 

Baixei o Notepad++ aqui.

 

Copiei o arquivo para o diretório C:\teste\ e mudei o nome para npp.exe, simplificando a digitação.

Este é o diretório que deve estar compartilhado com todas as permissões de acesso possíveis.

Na máquina em que será "disparado" o comando, deve ser feito com o usuário Administrador ou outro com privilégios de Admin logado.

 

Ao invés de utilizar um Windows Server, utilizei um Windows 10 estação de trabalho com o usuário Administrador para poder fazer todos os procedimentos. Isso facilita o processo e não interfere no ambiente de rede nem nos possíveis Servidores Windows que possa ter na rede.

 

Compartilhe o diretório e de preferência deixe o mesmo com permissões totais de acesso.
 

Exemplo:
C:\teste>psexec ip-destino -c "\\ip-origem\pasta\arquivo.exe” cmd /S

Para uma máquina somente:

"C:\teste>psexec \\172.16.1.2 -c "\\172.16.1.1\teste\npp.exe" cmd /S"

Para N máquinas utilizando um arquivo lista com os Ips destino:

C:\teste>psexec @lista-carrocas.txt -c "\\172.16.1.1\teste\npp.exe" cmd /S

O parâmetro -c copia, instala e remove o instalador
O comando cmd é o prompt de comando que vai chamar o instalador (npp.exe)
O pârâmetro /S faz o instalador do Notepad++ executar de forma "silenciosa" não dando nenhum alerta ou aviso para o usuário logado, não interferindo e/ou interagindo com o usuário.

Nos testes as duas máquinas (origem e destino) possuem o mesmo usuário Administrador local com a mesma senha.
Existe a limitação de passar usuário e senha junto ao comando.
Diversos modos de execução e todos retornaram com erro de logon ou autenticação.
Com isso, os comandos funcionam quando as "máquinas destino" possuem o mesmo usuário local Administrador/Senha.

Caso tenha mais de uma máquina destino, pode-se adicionar uma lista de máquinas num arquivo texto e fazer o apontamento.

Nos testes criei um arquivo com o nome lista-carrocas.txt.
Inclui dois IPs de destino. Destalhe: é somente adicionar os IPs, um por linha.

Lembrando que nos testes funcionou sem problemas.

Mas cada ambiente pode responder de forma diferente com possíveis erros diversos.

Nestes casos é interessante pesquisar a documentação e sites especializados, que pode ajudar e muito.

 

Fiz um arquivo batch e dei o nome de joga-lixo.bat (mas pode dar o nome que preferir). Coloque no diretório onde está o arquivo npp.exe pelo gerenciador de arquivo, execute o bat. O conteúdo do arquivo ficou da seguinte forma:

 

rem Copia e inicia instalador dos aplicativos remotamente em rede ruwindows

rem Nome do Arquivo: Joga Lixo

rem Arquivo: joga-lixo.bat

rem Autor: Mario Medeiros

rem Data: 2022-05-25 - 27

rem Versao: 0.2

 

psexec @lista-carrocas.txt -c "\\172.16.1.1\teste\npp.exe" cmd /S

 

pause

 

Mario Medeiros
Versão: 0.2.0
Data: 2022-05-27

Categorizado em : Diversos Tags : sem tags

2 comentários

#1 Itamar Rodrigues escreveu :

Excelente abordagem para um problema local, considerando que pouco ou quase nada entendo de ruindows, me parece que resolve o que se propõe, mesmo que o autor seja um maluco :-)

#2 Mario Medeiros escreveu :

A ideia surgiu de um problema comum. Como a coisa pareceu divertida, eu tentei fazer algo. Comigo funcionou.

Escrever um comentário

Dígite o quinto caráter da palavra ce38v5t ? :