Arquivos 2022

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


24
avril 2022

Shell Script Separador - Mover N Arquivos Para Subdiretórios - Linux

Escrito por Mario Medeiros não comentários

Shell Script que move N arquivos de um diretório para subdiretórios

Problema inicial:
Ter milhares de arquivos (algo como 50 mil arquivos) em um único diretório e ter a necessidade de mover/separar em subdiretórios com quantidades menores, por exemplo, mil arquivos em cada diretório.

Uma solução que encontrei foi gerar um shell script que gere os subdiretorios e mova os arquivos com limites de mil arquivos em cada diretório destino.

 

Obs 0: O script deve estar no mesmo diretório dos N arquivos que serão movidos.
Obs 1: O diretório de destino onde serão criados os subdiretórios deve estar fora da estrutura onde estão os arquivos originais, parar não haver erros nas buscas do comando find ou outros erros.

Link para o vídeo descritivo
Link para o GitHub

Categorizado em : Linux Tags : sem tags


-