No es una tarea habitual, pero a veces y sobre todo cuando se crea un nuevo Dominio Active Directory, hay que ejecutar un alta masiva de muchas cuentas de usuario.
Inclusive es una muy buena práctica completar los atributos adicionales de cada uno, ya que esto puede facilitar enormemente posteriormente las búsquedas
Por lo tanto en esta demostración investigaremos y veremos cómo se puede hacer el proceso, ya que la creación manual de usuario por usuario sería en este caso lentísima, y ni que comentar si además hay que configurarle propiedades a cada uno
Además puede darse el caso de tener que cambiar desde un “Dominio viejo” a un “Dominio nuevo”. Para esto se pueden usar aplicaciones como ADMT (“Active Directory Migration Tool”), pero a veces lo único que se necesita es la creación de nuevas cuentas de usuario, por ejemplo, para crear un Domino “espejo” del productivo
En general el proceso de creación de usuarios y sus propiedades adicionales es mucho más fácil hacerlo desde una aplicación de base de datos, o inclusive con una planilla de cálculo. El problema es cómo llevar toda esta información en forma rápida y eficiente a un Dominio
La aplicación de base de datos puede contener gran parte de la información que ha ingresado la división de Recursos Humanos, y convengamos que no tiene mucho sentido tener que volver a ingresarla manualmente
Para esta demostración, me basaré en que tenemos la información en una planilla de Excel, ya que tanto desde la misma como desde cualquier base de datos se pueden exportar los datos en formato CSV (“Comma Separated Value”)
El archivo CSV debe contener en la primera línea los nombres de los campos, y en cada una de las líneas siguientes cada registro con sus correspondientes valores
Una de las dificultades es conocer el nombre interno de los campos que usa Active Directory, así que mostraré todo el proceso desde averiguar los nombres, hasta el alta masiva de cuentas
Necesitaremos un Controlador de Dominio, donde he creado una Unidad Organizativa provisoria que yo he llamado “TestOU”, donde he creado una cuenta de usuario. A esta cuenta le he configurado valores arbitrarios en cada campo informativo para poder averiguar los nombres
En las siguientes capturas podemos observar los datos que he puesto
Comenzaremos exportando esta cuenta de usuario a un archivo CSV mediante la utilidad incluida en el sistema operativo llama CSVDE.EXE
El comando es:
CSVDE -f <NombreArchivo>.CSV
He creado una carpeta “NewUsers”, me he cambiado a la misma y sobre ésta pondré toda la información necesaria
En mi caso particular he ejecutado el comando usando como nombre de archivo “PrimerIntento.csv” y para que no exporte el Dominio completo, he puesto el foco sólo sobre la Unidad Organizativa “TestOU” con el modificador “-d”
csvde -f PrimerIntento.csv -d OU=TestOU,DC=ad,DC=guillermod,DC=com,DC=ar
¿Recuerda cómo importar un archivo CSV en Excel? por las dudas, pongo las pantallas
Como en este caso no me importan las fechas sino sólo los nombres de los campos, no modificaré ninguno de los tipos de datos
Observemos lo siguiente: no sólo ha exportado al usuario, sino además a la propia Unidad Organizativa
Además los campos son muchos, para que los vean con facilidad he copiado los nombres de los mismos sobre un área inferior con fondo amarillo
Con el modificador “-r ObjectClass=user” podemos hacer que exporte sólo las cuentas de usuario
Algo más a tener en cuenta por lo que he leído, aunque no lo muestro en las capturas: si ponemos “user” exportará las cuentas de usuario, y además las de máquina.
Otra posibilidad es poner “person”, en este caso no exporta las cuentas de máquina, pero incluye los objetos tipo “contact”
No hay nada perfecto 😉
Ahora si, sólo la cuenta de usuario
Si no deseamos que se exporten todos los campos, podemos informar cuáles necesitamos con el modificador “-l” (L minúscula) y la lista de campos
En mi caso he exportado los campos obligatorios para poder hacer luego la importación y algunos más
Obteniendo lo siguiente, ya mucho más fácil de interpretar
Vamos ahora dejando el tema exportación, y comencemos con lo que nos interesa que es la importación
Supongamos que desde la división de Recursos Humanos obtenemos los campos: Nombre, Iniciales, Apellido, y Departamento
Acá van a necesitar sus habilidades con Excel para mediante las convenciones de nombres que utilicen para los usuario, y sus habilidades en la concatenación de cadenas de caracteres, crear en forma rápida los datos que necesitamos
Por ejemplo yo he creado 5 cuentas, pero si fueran 500 o 5000 el procedimiento sería totalmente igual
Debemos guardar esta hoja de la planilla como archivo CSV para luego poder hacer la importación mediante CSVDE.EXE
Confirmaciones de Excel …
Teniendo ya toda la información, sólo resta importarla. Para esto utilizaremos nuevamente el comando CSVDE.EXE, pero esta vez indicando que vamos a importar información usando el modificador “-i” (CSVDE -i -f ImportUsers.csv)
Es importante verificar que el comando se completó exitosamente
Así que vamos a ver nuestra Unidad Organizativa, no olvidarse de hacer un refresco, ya que no lo hace automáticamente, y ya está 🙂
En todos ellos podemos observar que se han importado, además de las cuentas de usuario, el campo Departamento que habíamos incluido
Recuerdo que si quisiéramos modificar en forma masiva a los usuarios, simplemente podemos seleccionar a los que necesitemos y entrando en Propiedades, modificar casi todos los atributos que necesitemos
Como los usuarios que importamos no tienen contraseña asignada, quedan siempre en forma deshabilitada. Esto no hay solución pues no se pueden importar las contraseñas con CSVDE
Pero podemos, aún así, habilitarlos 🙂
No me pregunten el por qué, pero contrariando las políticas de cuentas del Dominio, que no dejan crear usuarios sin asignarle contraseña, usando este método se puede
Para finalizar, la creación masiva de cuentas de usuario no es algo que normamente tengamos que hacer diariamente, pero si en algún momento lo necesitamos, este procedimiento puede ahorrar muchísimo tiempo