Anda di halaman 1dari 1

Utilizando scripts na administração de

usuários
Provavelmente você já precisou alterar algum atributo de muitos usuários (o logon script de 80
usuários, por exemplo) e acabou fazendo um a um, certo ? Serviço meio chato, não é ? E redefinir a
senha de todos e solicitar que todos alterem a senha no próximo logon ? Seria interessante poder fazer
isso num clique, certo ?

Utilizar scripts do Windows é a melhor forma de evitar este tipo de chateação e aumentar em muito a
produtividade na administração de usuários !!

E o melhor de tudo: é relativamente simples e rápido criar scripts !

Vamos a um exemplo: o objetivo é alterar o atributo Logon script de todos os usuários em uma unidade
organizacional (OU):

Exemplo de Script

Set objConnection = CreateObject("ADODB.Connection")


objConnection.Open "Provider=ADsDSOObject;"
Set objCommand = CreateObject("ADODB.Command")
objCommand.ActiveConnection = objConnection <BR>
objCommand.CommandText="<LDAP://ou=Gerencia,dc=empresa,dc=br>;" & _
"(&(objectCategory=User)(cn=*));" & _
"ADsPath;subtree"
Set objRecordSet = objCommand.Execute
While Not objRecordset.EOF
strADsPath = objRecordset.Fields("ADsPath")
Set objUser = GetObject(strADsPath)
objUser.Put "scriptPath", "login.bat"
objUser.SetInfo
objRecordSet.MoveNext
Wend
WScript.Echo objRecordSet.RecordCount & _
" usuarios modificados."
objConnection.Close

Entendendo o Script acima

O script abre uma conexão com o Active Directory e altera o atributo scriptPath (nome interno do Logon
script no schema do Active Directory) para LOGIN.BAT. Apenas usuários da OU de nome Gerencia,
presente no domínio empresa.br serão afetados. Ao final, uma mensagem pop-up será exibida indicando
quantos usuários foram alterados.

Passo a passo, o que ocorre é o seguinte:

1) Define objetos utilizados na conexão com o Active Directory

Set objConnection = CreateObject("ADODB.Connection")


objConnection.Open "Provider=ADsDSOObject;"
Set objCommand = CreateObject("ADODB.Command")
objCommand.ActiveConnection = objConnection

2) Define qual OU será afetada e abre


aconexão<BR><BR>objCommand.CommandText=_<BR>"<LDAP://ou=gerencia,dc=empresa,dc=br>;
"&_
"(&(objectCategory=User)(cn=*));" & _
"ADsPath;subtree"
Set objRecordSet = objCommand.Execute

3) Faz um loop alterando o atributo em todos os usuários da OU definida na etapa 2

While Not objRecordset.EOF


strADsPath = objRecordset.Fields("ADsPath")
Set objUser = GetObject(strADsPath)
objUser.Put "scriptPath", "login.bat"
objUser.SetInfo
objRecordSet.MoveNext
Wend

4) Gera um pop-up indicando quantos usuários foram alterados e fecha a conexão

WScript.Echo objRecordSet.RecordCount & _ 1


" usuarios modificados."
objConnection.Close

Criando os seus Scripts

Anda mungkin juga menyukai