Carga de multiples usuarios en Active Directory

Carga de multiples usuarios en Active Directory

Bueno hoy quiero dejarles un script que yo mismo modifiqué. Digo modifique porque encontré muchos scripts en la red, pero niguno se adaptaba a lo que necesitaba para mi proyecto así que tuve que adptarlo a la necesidad...

Entremos en materia... el script es el siguiente.

'--------------------------------------------------------------------------------------
Wscript.echo "    Script desarrollado Por:" & vbCrLf &" William Rojas Hernández!!!"
Wscript.echo "Creando Unidad organizacional..."
CreateOU()
Creategp()

Dim objRootLDAP, objGroup, objUser, objOU
Dim strOU, strGroup, strDNSDomain
Dim intCounter
' Check these objects referenced by strOU, strGroup exist in strOU

strOU = "OU=Licenciatura_informatica,"
strGroup = "CN=alumnos_2012,"
Wscript.Echo"Creando cuentas de Usuario..."
Set fso = CreateObject("Scripting.FileSystemObject")
Set file = fso.OpenTextFile("alumnos2012.csv")
        Do Until file.AtEndOfStream
                line = file.ReadLine
                lineValues = Split(line,",")
                lname = Replace(lineValues(0),"¥","N")        
                fname = Replace(lineValues(1),"¥","N")        
                username = Replace(lineValues(2),"¥","N")
                password = Replace(lineValues(3),"¥","N")
                email = username + "@unsis.edu.mx"
                oficina = Replace(lineValues(4),"¥","N")
                description = Replace(lineValues(5),"¥","N")
                username1 = username+"@unsis.edu.mx"
                displayName = fname + " " + lname
                CreateUserAD()
        Loop   
       
Sub CreateOU()
        Set objRootLDAP = GetObject("LDAP://rootDSE")
        Set objContainer = GetObject("LDAP://" & objRootLDAP.Get("defaultNamingContext"))
        Set objOU = objContainer.Create("organizationalUnit", "ou=Licenciatura_Informatica")
        objOU.SetInfo
        WScript.Echo("Contenedor Licenciatura_Informatica Creados")
End Sub

Sub Creategp()
Set objOU = GetObject("LDAP://OU=Licenciatura_Informatica,dc=unsis,dc=edu,dc=mx") 
Set objGroup = objOU.Create("Group", "cn=alumnos_2012") 
objGroup.Put "sAMAccountName", "alumnos_2012" 
objGroup.SetInfo
End Sub

Sub CreateUserAD()
        Set objRootLDAP = GetObject("LDAP://rootDSE")
        Set objContainer = GetObject("LDAP://ou=Licenciatura_Informatica, " & objRootLDAP.Get("defaultNamingContext"))
        Set oUser = objContainer.Create("User", "cn=" + displayName)
strDNSDomain = objRootLDAP.Get("DefaultNamingContext")
Set objGroup = GetObject("LDAP://"& strGroup _ 
& strOU & strDNSDomain)
Set objOU =GetObject("LDAP://" & strOU & strDNSDomain)
        oUser.Put "SamAccountName", username
        oUser.Put "userPrincipalName", username1
        oUser.Put "sn", lname
        oUser.Put "givenName", fname
        oUser.Put "mail", email
        oUser.Put "displayName", displayName
        oUser.Put "Name", displayName
        oUser.Put "distinguishedName", displayName
        oUser.Put "description", description
        oUser.SetInfo
        oUser.SetPassword password
        oUser.AccountDisabled = False
        oUser.SetInfo
objGroup.add(oUser.ADsPath)
End Sub
'--------------------------------------------------------------------------------------

Éste script lee los objetos y sus datos desde un archivo csv (comma-separated values) se puede crear con excel (será mucho mas sencillo) o desde un bloc de notas guardando el archivo con extensión csv.
Aquí un ejemplo ilustrativo.









Ahora expliquemos la línea que considero que ayudará mas a su script, "Set file = fso.OpenTextFile("alumnos2012.csv")" lo que esta dentro de los parentesis entre comillas, es el nombre del archivo csv que crearon donde estan guardados los datos de sus usuarios....


Saludos a todos, y por favor, si usas el script, referencia quien lo modificó, porque es una compilación de varios script, así que me considero el creador de éste script....


Para cualquier duda, dejen su comentario,


Category: 0 comentarios