terça-feira, 22 de abril de 2014

Windows Server: Criando e utilizando Script de Logon

Olá!

Neste artigo vou mostrar como configurar um script para definir impressoras, mapear pastas compartilhadas e apresentar uma mensagem de boas vindas, durante o logon de qualquer estação em um domínio.

Para melhor compreensão deste conteúdo, você deverá conhecer como configurar e operar um servidor de domínio e compartilhamento de arquivos no Windows Server. Também será importante ter alguma noção de programação.

Para este exemplo eu utilizo o Windows Server 2008 R2.

Será necessário que o serviço de domínio já esteja configurado para poder utilizar o script de automatização. 

Procure a pasta 'C:\Windows\SYSVOL\domain\scripts' e cole o arquivo Logon.vbs com o script abaixo.

Utilize o exemplo abaixo, modificando os dados conforme suas necessidades. Meu servidor é o SRVDC, estou compartilhando ocultamente cinco pastas e uma impressora com o nome de HpDeskJet.

' Nome do arquivo: Logon.vbs
'======================================================
Option Explicit
Dim objNetwork, strDrive, objShell, objUNC
Dim strRemotePath1, strDriveLetter1, strNewName1
Dim strRemotePath2, strDriveLetter2, strNewName2
Dim strRemotePath3, strDriveLetter3, strNewName3
Dim strRemotePath4, strDriveLetter4, strNewName4
Dim strRemotePath5, strDriveLetter5, strNewName5
on error resume next

'Definindo as letras das unidades
strDriveLetter1 = "S:" 
strDriveLetter2 = "T:"
strDriveLetter3 = "G:" 
strDriveLetter4 = "I:"
strDriveLetter5 = "J:"

'Definindo o caminho das pastas ocultas no servidor 
strRemotePath1 = "\\srvdc\Sistema$" 
strRemotePath2 = "\\srvdc\Temporários$"
strRemotePath3 = "\\srvdc\Geral$"  
strRemotePath4 = "\\srvdc\Imagens$" 
strRemotePath5 = "\\srvdc\Atualizações$" 

'Definindo o novo nome do compatilhamento para melhor apresentação
strNewName1 = "Sistema"
strNewName2 = "Temporários"
strNewName3 = "Geral"
strNewName4 = "Imagens"
strNewName5 = "Atualizações"

on error resume next

'Mapeando as unidades conforme definido acima
Set objNetwork = CreateObject("WScript.Network") 
objNetwork.MapNetworkDrive strDriveLetter1, strRemotePath1 
objNetwork.MapNetworkDrive strDriveLetter2, strRemotePath2
objNetwork.MapNetworkDrive strDriveLetter3, strRemotePath3
objNetwork.MapNetworkDrive strDriveLetter4, strRemotePath4
objNetwork.MapNetworkDrive strDriveLetter5, strRemotePath5
on error resume next

'Renomeando as unidades mapeadas
Set objShell = CreateObject("Shell.Application")
objShell.NameSpace(strDriveLetter1).Self.Name = strNewName1
objShell.NameSpace(strDriveLetter2).Self.Name = strNewName2
objShell.NameSpace(strDriveLetter3).Self.Name = strNewName3
objShell.NameSpace(strDriveLetter4).Self.Name = strNewName4
objShell.NameSpace(strDriveLetter5).Self.Name = strNewName5

Dim objShell1

Set objShell1 = CreateObject("Wscript.Shell")

'======================================================
'Mapeando Impressora

Set WshNetwork = Wscript.CreateObject("Wscript.Network")
WshNetwork.AddWindowsPrinterConnection "\\srvdc\HpDeskJet", "HpDeskJet"
WshNetwork.SetDefaultPrinter "\\srvdc\HpDeskjet", "HpDeskJet"

'======================================================
'Sincroniza horário da estação com o servidor

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMv2")
Set objShell = CreateObject("WScript.shell")
strCmd = "net time \\srvdc /set /yes"
Set objexec = objshell.exec(strcmd)

'======================================================
'Mensagem de boas-vindas

Set objUser = WScript.CreateObject("WScript.Network")
wuser = objuser.UserName
If Time <= "12:00:00" Then
MsgBox ("Bom dia "+Wuser+", você ingressou na rede.")
ElseIf Time >= "12:00:01" And Time <= "18:00:00" Then
MsgBox ("Boa tarde "+Wuser+", você ingressou na rede.")
Else
MsgBox ("Boa noite "+Wuser+", você ingressou na rede.")

WScript.Quit
O próximo passo será definir que cada usuário ao logar com uma estação no domínio execute o script.

  1. No menu Ferramentas Administrativas, abra a opção Usuários e Computadores do Active Directory. 
  2. Dentro da pasta do domínio, abra a pasta Users e então dê dois cliques em cada usuário.
  3. Selecione a aba Perfil e digite o nome do arquivo (Logon.vbs) no campo Script de logon. Exemplo:



Finish!

Um comentário: