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,