Usando Group Policies: Gerenciando Papel de Parede (wallpaper) em ambiente corporativo
Overview
Um tema muito comum na administração de rede é o requerimento de troca de papel de parede de todos os computadores. Neste tutorial vamos mostrar como podemos utilizar uma GPO e um script para fazer esta troca muito fácil para ambos os lados: Administração de Rede e usuários.
Solução
O processo de troca de parede tem que ser simples, e neste tutorial vamos mostrar que após definido a configuração inicial podemos trocar todos os papéis de parede de uma região/localidade apenas alterando 2 linhas e copiando o arquivo para uma local central.
Vamos utilizar o seguinte cenário, nossa empresa quer que uma região (Uruguay) tenha todos os papeis de paredes padrão, e para isto vamos definir que tudo relacionado a papel de parede vai ficar no C:Desktop, e o nome do wallpaper vai ser sempre wallpaper.jpg, e o nosso domínio do tutorial é apatricio.local. Na sua empresa você vai ter que mudar as variáveis para ficar conforme o seu domínio e também pode trocar a pasta/nome do papel e parede caso o queira.
Detalhe importante: sempre teste em pequena escala antes e depois aplique em produção.
Script para a troca…
O Script é muito simples, basicamente ele possui duas variáveis Woldversion que controla a versão anterior do wallpaper e a nova versão (variável Wversion). Sempre que uma alteração se fizer necessária, aumenta-se 1 no Wversion e o número antigo do Wversion passa para o Woldversion.
Por exemplo para o início vamos ter exatamente o que temos na figura abaixo, em uma nova leva de troca de wallpaper ficaria assim:
Set Woldversion=1
SetWVersion=2
Na terceira ficaria desta forma e assim sucessivamente, simples não?
Set Woldversion=2
SetWVersion=3
Agora que já entendemos a parte do versionamento o segundo bloco de comandos é somente para testar se o diretório C:Desktop existe no computador, caso ele não existe ele vai ser criado, e depois de criado/validado o diretório C:Desktop o script envia a execução do script para a rotina :wallpaperupdate.
Na rotina é que realmente acontece a troca, basicamente a rotina vai usar o versionamento para saber se o wallpaper já foi copiado para esta máquina, com isto evitamos estar copiando o wallpaper durante todo o logon. Caso seja um novo wallpaper a rotina irá apagar o wallpaper.jpg atual, apagar o arquivo de status atual, e copiar o novo wallpaper (Current-Wallpaper.jpg) para o C:Desktopwallpaper.jpg e vai atualizar o arquivo de status (vai criar um C:Desktopstatus.v<Numero-da-versao-atual>
Nota: Troquem o \apatricio.local pelo domínio FQDN da sua empresa, pelo fato de estar usando o \FQDN-do-dominio força o usuário a usar o Domain Controller do site que ele pertence.
Depois de escrever o código num notepad salvem o arquivo como desktop.cmd e deixem na área de trabalho por enquanto (verifiquem se está salvo mesmo como .cmd e nao desktop.cmd.txt, caso o recurso de não mostrar extensões esteja habilitado no windows).
Criando a Group Policy
Agora que já temos o script a parte mais fácil é criar a GPO e a mesma vai ser aplicada em nível de computador e usuários, ou seja, ela tem que ficar em uma OU que possua ambos os objetos abaixo da mesma. Em nosso exemplo aqui vamos criar um padrão de papel de parede para a localidade do Uruguay, vamos criar e associar a política em Uruguay OU com isto confirmamos os pré-requisitos que a política tem que ser aplicada em ambos.
Para criar a política devemos efetuar os seguintes passos:
-
Logado no Controlador de Domínio (neste tutorial estamos em um Windows Server 2008 R2)
-
Abra o Group Policy Management
-
Expanda, Forest:apatricio.local, Domains, apatricio.local, e clique com o botão direito em Uruguay
-
Clique em Create a GPO in this domain, and Link it here…
-
Digite o nome da nova política, vamos chamar de URUGUAY-Desktop Padrao e clicar em OK
– Vamos clicar com o botão direito na GPO recém criada e vamos clica rem Edit..
Agora vamos configurar a parte de computador efetuando os seguintes passos:
-
Expanda Computer Configuration, Policies, Windows Settings
-
Clique em Scripts (Startup/Shutdown)
-
Dois cliques em Startup na direita
-
Clique em Show Files…
-
Copie o script que criamos no passo anterior para esta nova janela e fecha a mesma, antes de fechar a janela o script deve aparecer nela
-
Clique em Add e digite desktop.cmd no campo Script Name e clique OK e o resultado deve ser semelhante ao mostrado abaixo, feito isso clique em OK e com isto terminamos a parte de computador da Group Policy.
Agora vamos trabalhar na parte de usuário da Group Policy, ainda com a Group Policy aberta, vamos efetuar os seguintes passos:
-
Expanda User Configuration
-
Expanda Policies
-
Expanda Administrative Templates
-
Expanda Control Panel
-
Clique em Personalization
-
Duplo clique em Prevent changing desktop background e selecione Enabled
-
Expanda Desktop
-
Click on Desktop
-
Duplo clique em Desktop Wallpaper e coloque o caminho que definimos no script com o nome do wallpaper que será C:Desktopwallpaper.jpg e vamos definir centralizado
Clique em OK e feche a Group Policy, o resultado vai ser semelhante a este com todas as configurações que fizemos.
Testando…
Tudo criado e os usuários e computadores já estão nas OU corretas, vamos colocar o novo wallpaper padrão da empresa no diretório Netlogon e o mesmo será replicado para todos os Controladores de Domínio.
O diretório Desktop da máquina vai ter a seguinte informação:
Perfeito, agora depois de alguns meses o pessoal já decorou o hino do Grêmio e o help desk recebeu zilhões de ligações para colocar a bandeira da seleção tricolor nos Desktops, e para fazer isso devemos efetuar os seguintes passos:
-
Logado no Domain Controller (só por via das dúvidas, mas pode ser feito remotamente se o usuário tive as permissões)
-
Ir no diretório NETLOGON (\apatricio.localnetlogon), apagar o arquivo atual wallpaper.jpg (faça uma cópia se for utilizar depois ou até mesmo por segurança)
-
Coloque o novo wallpaper no mesmo local e com o mesmo nome (wallpaper.jpg)
-
Edite a GPO que criamos e troque no script que está dentro da GPO (sim só clicar com o botão direito no script através do botão show files, e editar o mesmo e salvar) somente as seguintes linhas:
Set Woldversion=1
Set Wversion=2
Agora é só aguardar o tempo de replicação e conforme os computadores forem sendo atualizados os mesmos já terão o novo papel de parede.
E podemos diagnosticar facilmente sempre olhando no diretório Desktop, após a segunda mudança ele vai ter somente o novo papel de parede como também um novo arquivo de status
Fonte: http://www.andersonpatricio.org/Tutoriais/Tutoriais.asp?Tut=786