Vamos criar uma GPO e definir um script de inicialização que use informações da OU para definir variáveis de ambiente o Windows.
A vantagem de criar variáveis de ambiente é poder usá-las em GPOs. Por exemplo: Definir uma variável chamada SETOR, com o nome do Setor e criar uma única GPO para (por exemplo) toda empresa:
- Mapear as impressoras com os nomes Impressora-%SETOR%
- Mapear a pasta de rede \\servidor\compartilhamento\%SETOR%
- Definir o papel de parede \\dominio\netlogon\wallpaper\%SETOR%.png
Para exemplificar aqui, vamos considerar a seguinte estrutura no AD:
- seudominio.com.br
- Filiais
- RJ
- Contabilidade
- RH
- TI
- SP
- Amoxerifado
- Patrimonio
- Seguranca
- RJ
- Filiais
Vamos supor que o computador PC2 esteja na OU Contabilidade. Essa OU fica na OU RJ, da OU Filiais, do domínio dominio.com.br
Se você ainda não sabe sobre Distinguished Name, leia nosso post de Como obter o Distinguished Name (DN) no Active Directory. Caso saiba sobre Distinguished Name, sabe que o DN do PC2 é:
CN=PC2,OU=Contabilidade,OU=RJ,OU=Filiais,DC=seudominio,DC=com,DC=br
Considerando que não precisamos o nome do computador e nem do nome do domínio, podemos filtrar e obtermos a seguinte resposta:
Contabilidade,RJ,Filiais
Em seguida, separamos, obtemos e definimos as seguintes variáveis:
- Setor: Contabilidade
- Local: RJ
- Tipo: Filiais
Para obter e gerar as variáveis, crie uma GPO chamada Variaveis de ambiente e faça o link dela em uma OU que possuí toda a estrutura que você deseja usar. Em seguida edite essa política, vá em Computer Configuration > Windows Configuration > Scripts e abra Startup. Clique em Adicionar, insira o nome variaveis.vbs e clique em OK. Agora clique em Show Files, dentro dessa pasta crie um arquivo variaveis.vbs com o seguinte conteúdo:
On error resume next Dim WshNetwork, ComputerName, objADSysInfo, strComputerName, objComputer, objEnv, objShell, strOUDN, strOUNames, StrOU ‘Obtain Computer Name Set WshNetwork = CreateObject(“WScript.Network”) ComputerName = WshNetwork.ComputerName ‘Obtain AD Information Set objADSysInfo = CreateObject(“ADSystemInfo”) strComputerName = objADSysInfo.ComputerName Set objComputer = GetObject(“LDAP://” & strComputerName) strOUDN = Replace(objComputer.DistinguishedName,”CN=”&ComputerName&”,”,””) strOUDN = Replace(strOUDN,”,DC=seudominio,DC=com,DC=br“,””) strOUNames = Split(strOUDN, “,OU=”) ‘Set the new Path in the SYSTEM Set objShell = CreateObject(“WScript.Shell”) Set objEnv = objShell.Environment(“System”) objEnv(“Tipo”) = strOUNames(2) objEnv(“Local”) = strOUNames(1) ‘Set the new Path in the USER Set objEnv = objShell.Environment(“User”) objEnv(“Setor”) = strOUNames(0) |
Fontes/Referências
NVLAN – Como obter o Distinguished Name (DN) no Active Directory
Mais Informações
Esperamos ter ajudado da melhor forma possível e estaremos sempre a disposição para mais informações.
Entre em contato conosco pelo e-mail equipe@nvlan.com.br.