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