Importando usuarios en un Directorio Activo
Hoy me siento “orgulloso” conmigo mismo. Después de quizá demasiado tiempo sin hacer scripting para algo “productivo” y sin practicamente experiencia en el tema del visual basic scripting he hecho un script que se le podrÃa calificar de “hasta útil” -creo que es exagerar un pelin- en algunos casos. El caso es que estamos generando un entorno de pruebas en el que necesitabamos exportar de un AD unos usuarios para luego poderlos importar en uno de pruebas con ciertos campos que eran imprescindibles. Para ello, en entornos W2k y NT existÃa la herramienta addusers que, a partir de un fichero de texto convenientemente parseado importaba los ficheros al directorio. Con la llegada de 2k3, todo esto se sustituye por el scripting con WMI o VBS . Para la gente que, como es mi caso, no está muy al dÃa con el VBS Microsoft ha abierto una web de ejemplos dentro de Technet que nos pueden sacar de un apuro. EL problema es que, como suele pasar en estos casos, los scripts que habÃa en la web no se amoldaban - Murphy es el compañero de trabajo de todo informatico - asà que tuvimos que hacerlo nosotros.
Después de encontrar el script más parecido, uno que genera usuarios inventados en un AD, empezó el proceso de modificación. Después de encontrar con ADSI los campos que querÃamos añadir en cada usuario nos faltaba parsear la cadena que leiamos del fichero de texto exportado del otro dominio. Para ello, y, de manera rudimentaria, nos montamos un pequeño parseador que cogiera los tres valores que necesitabamos. El resultado es el que abajo queda: ¿Como lo mejorarÃais? ¿Que le añadiriais?
DIM linea as String
DIM Separador as String
DIM tamano as Long
DIM PosSep as LONG
dpto as String
usuario as String
nombre as String
Set A= GetObject ("LDAP://OU=Usuarios,DC=HIJO,DC=EJEMPLO,DC=COM")
'Creamos un puntero que apunta a la ou correspondiente
Set B = CreateObject("Scripting.FileSystemObject")
'Abrimos fichero de texto
Set C=B.OpenTextFile ("c:\usuarios.csv",1)
'Fichero del que leemos los usuarios Usuario,DisplayName,Descripcion
'Recorremos el fichero hasta el final
Do Until C.AtEndOfStream ' Detecta final del archivo
linea= C.ReadLine
separador = ","
posSep = InStr(1, linea, separador)
tamano = posSep - 2
usuario = Mid(linea, 1, tamano)
linea = Mid(linea, posSep)
posSep = InStr(1, linea, separador)
tamano = posSep - 2
nombre = Mid(linea, 1, tamano)
linea = Mid(linea, posSep)
posSep = InStr(1, linea, separador)
tamano = posSep - 2
Dpto = Mid(linea, 1, tamano)
if (dpto = "") then
dpto = " "
end if
if (nombre = "") then
nombre = " "
end if
Set B=A.Create ("User","CN=" & usuario ) 'Creamos nuevo objeto
B.Put "SamAccountName", usuario
B.Put "Description" , Dpto
B.Put "displayName" , nombre
B.SetInfo
'Si quisieramos pone Password habria que hacerlo despues de creado
Loop
Close C
Lo más destacado
Comentarios 'Importando usuarios en un Directorio Activo'
kour dijo hace 2 años, 8 meses :
La idea no es mala. El caso es que con esos campos dice que no … por lo demás ![]()
kour dijo hace 2 años, 8 meses :
Segun tengo entendido LDIF no deja añadir todos los campos que te deja exportar. Cuando ejecuté el LDIF mi objetivo era mucho más ambicioso de lo que lo convertà cuando empecé con el VBS.
Aun asÃ, el LDIF no sirve para importar todo lo que permite importar WMI y vBS
kour dijo hace 2 años, 7 meses :
De todas a todas, y aunque el más completo sigue siendo el VBS o WMI, si lo quereis facil y facilmente configurable, os recomiendo CSVDE en vez de LDIFDE
Pablo dijo hace 2 años, 7 meses :
Mira que eres testarudo. Que vas a recomendar tu de Windows anda…
kour dijo hace 2 años, 7 meses :
Algo algo intento saber. No demasiado, la verdad. Pero eso es suficiente para saber más que tú ![]()
Pedro dijo hace 2 años, 7 meses :
y con Ldife -j2-p6?
yo veo mate en dos jugadas, despues de enrocarse la reina, no?
Pablo dijo hace 2 años, 7 meses :
Vaya, los dos hermanos que no pegan palo en el trabajo…sobre todo Pedro que aprovecha cualquier cosa para meter vaza (¿ya no te conetas al messenger?)
Pedro dijo hace 2 años, 7 meses :
Vaya, el vecinito que no sabe que baza es con b, no con v….. otros no pegaron palo en el cole, y ahora se les ve el plumero.
kour dijo hace 2 años, 7 meses :
No quiero comprobar cuantos comentarios de los tuyos son en hora de trabajo. Además, a las 8.45 yo no he entrado a trabajar.
kour dijo hace 2 años, 7 meses :
Si si…
Por cierto … ¿Tu no eras pro win? que haces con linux?
Pablo dijo hace 2 años, 7 meses :
Necesito probar zabbix y el servidor no puede ser window. Ubuntu es la distribucion mas actualizada de linux que tengo. Si tuviese tiempo usaria slack, si tuviese suse usarÃa suse, y si me dejas la última de debian pruebo debian que es de las pocas que no probé alguna vez. Por cierto no me gusta demasiado ubuntu, muy telederigido (tambien puede ser gnome, tendré que probar kubunto),…
Pedro dijo hace 2 años, 7 meses :
Gnome, Suse, Slack, Kubunto, Ubuntu…..
De que hablais? Un ritual satanico? Un juego de Rol con un monton de personajes?
aklis dijo hace 2 años, 7 meses :
Sobre zabbix, yo lo monté en produccion hace un tiempo, y ten cuidado con las actualizaciones de la version en desarrollo, pq a pesar de ser bastante mejor que la estable, a veces lo cascan todo.
Pablo dijo hace 2 años, 7 meses :
Gracias aklis, ya instale la beta8 de la versión 2 y ahora me toca configurarlo. Por cierto y aprovechando que veo que lo conoces y abusando un poco…. ¿Que versatilidad ofrece zabbix a la hora de personalizar la monitorización por servicios individuales del usuario en el mismo servidor?, es decir, si yo tengo un servidor con varias bbdd y le quiero ofrecer al usuario que pueda monitorizar tamaño, logs,… pero sólo de su bbdd, o de su servidor web, solo ver estadÃsticas para su sitio,… (vamos, vender el servicio de monitorización de sólo su hosting a los clientes que contratan un hostig web o de correo o de bbdd,…).
…Y con respecto a nagios, ¿lo probaste?¿cual te parece mejor?….
kour dijo hace 2 años, 7 meses :
Tio! no pretendas que aklis te haga todo tu trabajo
Curra "Chispitas"!!!
Pablo dijo hace 2 años, 7 meses :
Perro…., :). Es que tengo poca personalidad, y asi a la hora de decidir me resulta mas fácil ![]()
Estas en vixoy?
Raul dijo hace 1 año, 11 meses :
Hola perdonar por al atraco.
Me llamo Raúl, y bueno, soy nuevo en todo esto.
Mi consulta es:
Tengo que dar de alta en un directorio activo a 250 usuarios, que accederán a una VPN, y aparte de picarlos uno a uno no se otra manera de hacerlo. He leido vuestros mensaje, en el cual importas la lista de usuarios desde un excel. ¿¿Me podrÃas indicar como se harÃa??, en el excel solo tengo para importar una tabla con dos columnas, en una el usuario y en la otra el password.
Os agradeceria que me orientarais un poco.
Muchas gracias
kour dijo hace 1 año, 11 meses :
Creo que, mejor que nosotros, estos links te pueden ayudar.
http://www.winscripter.com/WSH/ADSI/default.aspx
http://www.computerperformance.co.uk/Logon/Logon_CSVDE_Export.htm
http://www.cruto.com/resources/vbscript/vbscript%2Dexamples/
Dejar un Comentario
Puedes usar las siguientes tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
Fortune
 
Todo lo que no tiene solución no se soluciona, y lo que la tiene tampoco
--Bill Gates. (1952?) Fundador de Microsoft
 
Buscar


Pablo dijo hace 2 años, 8 meses :
¿Probaste con crear un fichero en excel e importarlo con ldif?…