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

Livro-GPO-Banner

Livro: Tudo Sobre GPOs no Windows Server 2008. 2012 e 2016.

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

3

Clique na foto acima e receba os conteúdos do Blog no teu celular.

Anúncios
The following two tabs change content below.
Desde 2016 escrevo sobre Windows Server. De lá para cá, já são mais de 100 artigos, dois livros, diversos vídeos, muitas respostas em fóruns e bastante colaboração.

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