Instalando programas .exe em seu domínio por Script – Windows Server.

Neste artigo demonstro como instalar programas do formato .exe em seu domínio assim que o usuário logar.


O Windows Server permite a instalação de programas de forma silenciosa e automatizada no formato .msi. Isso pode ser feito via GPO. Mas o que demonstrarei hoje é como instalar programas no formato .exe em seu domínio assim que um usuário logar. Essa dica é bastante útil quando precisamos instalar alguns softwares em várias estações domínio e não temos o pacote .msi do fabricante. 

Para solucionar este problema iremos trabalhar com as seguintes etapas:
1 – Iremos descobrir o formato de instalação via comando do software
2 – Após descobrir o formato, iremos instalar em uma estação
3 – Após instalar em uma estação, iremos copiar o software para uma estação/servidor e montaremos o script.
4 – Após montado o script, iremos copiar para a pasta sysvol do servidor
5 – Depois de ter copiado para a pasta sysvol do servidor, iremos vincular a algum usuário específico com permissões elevadas(de instalação).
6 – Logar na estação com o usuário específico.

O primeiro passo:
1 – Iremos descobrir o formato de instalação via comando do software.

Essa descoberta pode ser feita com o comando “/?”. Para isso iremos trabalhar com o software MGLTools no qual está no formato .exe. Caso deseje baixá-lo para testar junto com o artigo. clique abaixo:
http://mgltools.scripps.edu/downloads/previous-releases/downloads/tars/releases/REL1.5.4/MGLTools-1.5.4-Setup.exe

Abriremos o prompt de comando para verificar a instalação silenciosa. Com o prompt comando aberto digite o nome do software como está salvo na estação + /?. Figura abaixo demonstra:

5

Após ter digitado irá aparecer a instalação uma janela com as informações do software como a figura abaixo.

6

Notamos acima que a instalação silenciosa do software se dar pelo /s (run the installer in silent mode) e usando o comando /y (accept all defaults and run the installer). Ou seja através do comando /s iremos instalar o software e o /y será para aceitarmos os termos.

Caso ainda tem dúvidas de como descobrir a instalação silenciosa de programa, segue este link para saber mais:
http://eduardosena.blog.br/como-descobrir-comando-para-instalacao-silenciosa-de-programas/

2 – Após descobrir o formato, iremos instalar em uma estação.
Com os comandos descobertos, digitaremos no prompt de comando:

7

Note que depois de digitado o comando o software irá instalar sem interação com o usuário.

8

9
Após ter instalado aparecerá somente uma tela para clicar em Finish. Notamos que aqui está tudo ocorrendo como queremos. Ou seja, o programa instalando via linha de comando sem a necessidade de clicar em next/next/next….

10

Clicando em Finish, veja que o programa foi instalado:

11

Para confirmar iremos em programas instalados.

12

Veja acima que o software foi instalado. Agora iremos desinstalar o programa da estação já que iremos instalá-lo via script. Não esqueça de desinstalar  o programa!

Agora iremos para a 3º etapa somente após ter desinstalado o programa(caso for fazer o  teste do script na mesma estação).

3 – Após instalar em uma estação, iremos copiar o software para uma estação/servidor e montaremos o script.

Para que copiar para o servidor o software? A ideia é que o script que montaremos ele faça uma cópia desse software para a estação cliente e da própria estação ele execute o software e instale.

No meu caso irei copiar o software para o meu servidor. Com isso irei fazer uma pasta no disco local C:\ chamada softwares. A ideia é que quando executarmos os script ele copie o software para o disco local C:\ da estação cliente. Então vamos lá:

Criamos uma pasta chamada softwares no diretório C:\ do servidor. A pasta em criamos ou que irá fazer nos seus testes tem que estar compartilhada para o(s) usuário(s) que serão vinculados o script e com as permissões necessárias. Veja a pasta criada abaixo:

Criando Pasta no C - Servidor

Dento dela está uma cópia do software MGLTools.

copiado para C - Servidor

Agora iremos na estação cliente e tentaremos acessar o diretório onde está a cópia do software. O por que disso? Justamente para verificarmos se o(s) usuário(s) estão conseguindo “enxergar” o arquivo e já podemos aqui verificar se as permissões estão OK.

Da estação cliente e logado com o usuário(diego.gouveia) em que iremos vincular o script, tentaremos acessar o compartilhamento: \\diego-dc\c$\Softwares. Caso você deseja acessar o compartilhamento criado, digite \\nomedaestação\

usuario consegue acessar

Veja acima que consegui acessar a pasta criada no servidor pelo \\ e consigo visualizar o arquivo. Aqui já sei que quando começar a montar o script já não irá acontecer erros em relações de acesso/permissões. Uma dica que dou é copiar o arquivo para alguma pasta e verificar se o usuário consegue copiar. Sabendo que as permissões estão Ok iremos começar a montar o script:

Abra o bloco de notas na estação cliente e com o usuário que será vinculado o script digite:

cd\
md Softwares
copy “\\endereçodecompartilhamentodapasta\*.*”,  “c:\Softwares”
cd Softwares
start nomedoexecutavel /comandodeinstalaçãoviaprompt

No meu exemplo ficou:

montando script

O comando cd\ é para quando o usuário logado com script consiga voltar para o diretório C:\ da estação para criar uma pasta chamada Softwares(md Softwares). Após criado a pasta Softwares dentro do diretório c:\ da estação cliente, ele irá copiar TUDO(*.*) que está dentro da pasta Softwares do endereço “\\diego-dc\c$\Softwares\*.*”,  e jogar na pasta Softwares da estação cliente. Depois, ele irá entrar no diretório Softwares(cd Softwares) da estação cliente e executar o comando instalação do programa: start ….

Com o script montado, iremos salvá-lo na área de trabalho do usuário no formato.bat e executarei para verificar se o mesmo executa.

script salvo

Veja acima que salvei com o nome ScriptSoftware.bat na área de trabalho do usuário. Agora iremos executá-lo e verificaremos se o mesmo consegue irá fazer tudo que foi prometido:

Executando o script:

Script Testando 1

scirot testando 2

script testado 1

Veja que o programa foi instalado via Script. 

PRONTO. Aqui já sei que meu script está funcionando e sei que ele está fazendo tudo como eu quero. Agora iremos deletar a pasta criada(Softwares) no disco local C:\ e mais uma vez desinstalar o programa. O por que novamente? Porque na primeira que instalamos e desinstalamos foi quando estávamos montando o script(descobrindo a instalação via linha de comando) e agora instalamos pelo script feito. Então vou deletar a pasta criada e desinstalar o programa. Porque vamos para o teste oficial(com o usuário logando)

Agora iremos para o próximo passo:

4 – Após montado o script, iremos copiar para a pasta sysvol do servidor:

A pasta sysvol é responsável pela armazenação de scripts usados por GPOs. Dentro da pasta há outro chamada  scripts e é nesta que colocaremos nosso script feito na estação cliente. Então copie o script feito na estação de teste e cole dentro da pasta Windows\SYSVOL\sysvol\nomedoseudominio\scripts. Veja abaixo como ficou:

excluindo script 2 - Cópia

Com o script copiado iremos para o próximo passo:

5 – Depois de ter copiado para a pasta sysvol do servidor, iremos vincular a algum usuário específico com permissões elevadas(de instalação).

Irei abrir meu ADDS e irei nas propriedades do usuário que será vinculado(o mesmo que usei de teste, Diego Gouveia). Com as propriedades aberta do user, irei na aba Perfil e em script de logon digitarei conforme o NOME que está nomeado o script + .bat no final. Veja abaixo:

salvando script propriedades users

Agora irei verificar as permissões do usuário:

permissões diego

Note que o mesmo está no grupo Admins do domínio. Ou seja, assim que logar na estação ele terá permissão necessária de instalação. Próximo passo:

6 – Logar na estação com o usuário específico.

Agora iremos logar com o Diego Gouveia e verificaremos se assim que logar o mesmo irá copiar o executável para o diretório c:\softwares e irá instalar o programa MGTools sem a interação, isto é, de forma automática.

Logando:

logando com o user diego

rodando script no usuario

10

PROGRAMA INSTALADO COM SUCESSO! Pronto galera. Depois disso podemos agora retirar tudo que foi feito para da próxima vez que o usuário logar não ficar instalando as coisas:

Excluindo o ScriptSoftware.bat

excluindo script 2

E lembre-se de ir depois na aba perfil e apagar o nome dado em script de logon.

Bom galera, quis demonstrar como você fazer a instalação de programas .exe em seu domínio. Muitos aqui pode falar: “mas o usuário tem que ter permissões, mas blá, blá…”

Imagina você ter que instalar um software indo em next/next/, copiando do servidor tudo de forma manual e em muitas estações? Chato demais. Essa é uma boa técnica e também podemos neste script melhorá-lo, colocando para a instalação de outros programas depois do primeiro e tudo de forma automática. Eu desenvolvi isso depois de ter que instalar um software em 50 estações. Terminei tudo dentro de 10 minutos. Façam proveito e melhorem, caso houver necessidade!

Gostou do artigo? Então, segue o link da venda dos meus livros: Tudo Sobre GPOs no Windows Server 2008, 2012 e 2016 e Administrando O Active Directory Com O PowerShell. Neles tem inúmeras dicas úteis e práticas, demonstradas passo a passo e sem complicações, de como usar o Windows PowerShell para administrar o Active Directory e como trabalhar com políticas de grupo na administração de um domínio. 

Link da venda do livro: Administrando o Active Directory com o PowerShell:

https://juliobattisti.com.br/loja/detalheproduto.asp?CodigoLivro=LIV0001545.

– Link da venda do livro: Tudo sobre GPOs no Windows Server 2008, 2012 e 2016.

https://juliobattisti.com.br/loja/detalheproduto.asp?CodigoLivro=LIV0001525

Anúncios
The following two tabs change content below.
Diego é graduado em Sistemas, MTAC (Multi-Plataform Tecnical Audience Contributor) e possui diversos cursos de qualificações nas áreas de Tecnologia da Informação. É autor também dos livros: Tudo Sobre GPOs no Windows Server e Administrando o Active Directory com o PowerShell.

4 comentários sobre “Instalando programas .exe em seu domínio por Script – Windows Server.

  1. Bom dia, é possível criar um script com múltiplos programas, tipo anti vírus, pacote Office, 7-zip e etc? Como fazer para que cada instalação “espere” a anterior terminar?
    Parabéns pela iniciativa

    • Sim, é possível. Você tem que apenas trabalhar, isso usando o prompt de comando, com o comando timeout adicionando o tempo que deseja esperar para que o próximo comando seja executado. Esse tempo você pode definir por meio do parâmetro /t. Veja um exemplo abaixo.

      ….
      start programa1.exe
      timeout /t 120
      start programa2.exe
      ….

      Dessa forma estou dando um tempo de 2 minutos (que equivale a 120 segundos) para que a próxima operação seja executada. Essa próxima operação seria já a instalação do segundo programa. Você pode podia usar também o comando “pause”, assim esperando que o usuário tecle algo para seguir a instalação do próximo programa, citando o exemplo acima, o programa 2.

Deixe uma resposta