martes, 16 de agosto de 2011

Crear todos los usuarios de un Active Directory mediante script VBS

La idea es crear todos los usuarios del dominio de manera automatizada.
para ello utilizamos 2 scripts un .bat y un .vbs. El .bat se encarga de llamar al vbs para crear los usuarios.

El script "crea_usuario.vbs" al cual se le pasan los parametros contenedor, nombre de usuario, contraseña y script de logon.

Ej de uso: csript crear_usuario.vbs "OU=directivos,OU=empresa01" directivo01 clavedirectivo01 scriptlogon_directivo01.bat

strContainer = WScript.Arguments.Unnamed(0)
strName = WScript.Arguments.Unnamed(1)
strPasswd = WScript.Arguments.Unnamed(2)
strLogonScript= WScript.Arguments.Unnamed(3)

'***********************************************
'*         Connect to a container              *
'***********************************************
Set objRootDSE = GetObject("LDAP://rootDSE")
If strContainer = "" Then
  Set objContainer = GetObject("LDAP://" & objRootDSE.Get("defaultNamingContext"))
Else
  Set objContainer = GetObject("LDAP://" & strContainer & "," & objRootDSE.Get("defaultNamingContext"))
End If
'***********************************************
'*       End connect to a container            *
'***********************************************

Set objUser = objContainer.Create("user", "cn=" & strName)
objUser.Put "sAMAccountName", strName
objUser.SetInfo

Set objUser = GetObject("LDAP://cn=" & strName & "," & strContainer & "," & objRootDSE.Get("defaultNamingContext"))

objUser.SetPassword(strPassword)
objUser.scriptPath = strLogonScript

objUser.SetInfo


WScript.Quit

El script .bat lo llamaremos crear_usuarios_midominioNT.bat y se encarga de crear cada usuario llamando al script .vbs
@echo off
color 0a
cls
cscript crear_usuario.vbs "OU=directivos,OU=empresa01" directivo01 Cl@v3212011 directivos.bat
cscript crear_usuario.vbs "OU=empleados,OU=empresa01" empleado01 Cl@v3212011 empleados.bat
cscript crear_usuario.vbs "OU=comerciales,OU=empresa01" comercial02 Cl@v3212011 comerciales.bat
pause

No hay comentarios: