Automatizar la creación de usuarios del dominio en Windows Server 2016 con un archivo csv

Publicado por P. Ruiz en

Automatizar la creación de usuarios

El nombre CSV, proviene del inglés comma-separated values y hace referencia a la extensión que se asigna a un archivo de texto plano que contiene una serie de datos en formato de tabla.

En su interior, cada fila de la tabla estará representada por una línea de texto. Dentro de cada fila, los diferentes elementos estarán separados por comas (o puntos y comas en algunos casos).

Como puedes intuir, resultará muy sencillo hacer una lista de usuarios usando este tipo de archivos. Pues bien, hoy aprenderemos a crear un archivo csv de estas características. Después explicaremos cómo podemos importar las cuentas de usuario que contenga dentro del dominio de Windows Server 2016 que hemos estado utilizando en estos últimos artículos.

Crear un archivo csv con la lista de usuarios

Podemos crear el archivo csv en cualquier ordenador. No es necesario hacerlo en el servidor Windows Server 2016.

En nuestro caso, usaremos un equipo con Windows 10.

Más tarde, bastará con usar una memoria USB para copiar el archivo en el ordenador de destino..

Aunque podemos crear un archivo csv desde cualquier editor de texto plano, como por ejemplo el Bloc de notas, yo te voy a mostrar mi método preferido, que consiste en usar una hoja de cálculo. En concreto, yo utilizaré LibreOffice Calc, pero funciona de un modo casi idéntico si utilizas otras, como Microsoft Excel.

Comenzaremos por crear un nuevo documento. Después, en la primera fila, escribiremos los nombres de las propiedades (de los argumentos), que necesitaríamos para el cmdlet New-ADUser, que ya hemos usado en otras ocasiones.

En este sentido,debes tener en cuenta las siguientes precauciones:

  • El nombre de cada propiedad debe ir en una celda diferente, dentro de la misma fila.

  • El nombre de la propiedad debe coincidir exactamente con el del argumento de New-ADUser, pero sin el guión. Es decir, el argumento -GivenName aparecerá aquí como GivenName.

  • La primera celda ocupada debe ser la A1. Es decir, la primera de la hoja.

Una vez completada la primera fila, en las siguientes completaremos los datos de diferentes usuarios que debamos dar de alta. Uno por cada fila. Debemos comprobar que cada dato queda en su columna correspondiente.

En definitiva, el resultado será similar al que muestra la siguiente imagen.

Hoja de cálculo con cinco usuarios nuevos.

Automatizar-la-creación-de-usuarios-del-dominio-en-Windows-Server-2016-con-un-archivo-csv-001

Cuando hayas completado el contenido, lo siguiente será exportarlo con el formato csv. Para lograrlo, basta con hacer clic en el menú Archivo.

En el menú que aparece, elegimos la opción Guardar como

Automatizar-la-creación-de-usuarios-del-dominio-en-Windows-Server-2016-con-un-archivo-csv-002

De este modo, conseguimos que se muestre la ventana Guardar como. En ella, navegamos hasta el lugar donde crearemos el archivo csv. En nuestro caso, en la carpeta Documentos.

Una vez allí, desplegamos la lista Tipo de archivo.

Y elegimos la opción Texto CSV (.csv).

Automatizar-la-creación-de-usuarios-del-dominio-en-Windows-Server-2016-con-un-archivo-csv-003

A continuación, le damos nombre al archivo.

… Y hacemos clic sobre el botón Guardar.

Automatizar-la-creación-de-usuarios-del-dominio-en-Windows-Server-2016-con-un-archivo-csv-004

En este momento, LibreOffice Calc nos avisa de que el formato en el que estamos guardando el archivo no admite características de aspecto (recuerda que se trata de texto plano).

Para continuar, hacemos clic sobre el botón Usar formato Texto CSV.

Automatizar-la-creación-de-usuarios-del-dominio-en-Windows-Server-2016-con-un-archivo-csv-005

Después, aparece una ventana donde se nos pregunta por algunas características del archivo que vamos a generar. En concreto, podremos establecer el juego de caracteres a utilizar, el delimitador que usaremos para separar cada campo y cómo delimitaremos el texto.

Debajo, podremos elegir algunas características complementarias.

En cualquier caso, nosotros dejaremos las opciones predeterminadas.

Cuando estemos listos, hacemos clic sobre el botón Aceptar.

Automatizar-la-creación-de-usuarios-del-dominio-en-Windows-Server-2016-con-un-archivo-csv-006

Comprobar el resultado obtenido

Para comprobar que el archivo se ha exportado correctamente, bastará con abrir el Explorador de archivos y desplazarnos hasta el lugar donde lo hemos guardado. Recuerda que usamos la carpeta Documentos.

Cuando lo encontremos, hacemos clic sobre él con el botón derecho del ratón.

En el menú de contexto que aparece, elegimos Abrir con y, después, Bloc de notas.

Automatizar-la-creación-de-usuarios-del-dominio-en-Windows-Server-2016-con-un-archivo-csv-007

Al instante, se abrirá el Bloc de notas de Windows 10 y, en su interior, se cargará el archivo csv.

Conprobamos que el archivo se ha contruido de forma correcta.

Automatizar-la-creación-de-usuarios-del-dominio-en-Windows-Server-2016-con-un-archivo-csv-008

Importar los usuarios del archivo csv en el directorio de Windows Server 2016

Después del paso anterior, sólo tendremos que copiar el archivo (en nuestro caso, usuarios.csv) en un dispositivo externo (por ejemplo, una memoria USB) y llevarlo hasta el servidor.

Una vez allí, lo hemos copiado en la carpeta del administrador. Si lo prefieres, puedes dejarlo en el dispositivo externo pero, cuando lo uses, debes acordarte de indicar la ruta en la que se encuentra.

Como en ocasiones anteriores, usaremos cmdlets de PowerShell para realizar la tarea. Por lo tanto, lo primero que haremos será ejecutar el propio PowerShell.

Escribimos el nombre de la interfaz de consola y pulsamos la tecla Intro.

Administrar-usuarios-del-dominio-desde-la-linea-de-comandos-de-Windows-Server-2016-parte-i

A partir de aquí, comenzaremos a aplicar las diferentes ordenes…

Con el comando dir, compruebo que se encuentra en el directorio actual.

Automatizar-la-creación-de-usuarios-del-dominio-en-Windows-Server-2016-con-un-archivo-csv-009

A continuación, utilizamos el cmdlet Import-Csv para comprobar que PowerShell identifica correctamente el contenido del archivo. En particular, la sintaxis será como sigue:

Import-Csv .\usuarios.csv

Escribimos la orden y pulsamos la tecla Intro.

Automatizar-la-creación-de-usuarios-del-dominio-en-Windows-Server-2016-con-un-archivo-csv-010

Como salida, el cmdlet mostrará la lista de usuarios, donde cada campo queda identificado con el nombre de su correspondiente propiedad.

Si la salida no tiene el formato que muestra la imagen siguiente, debes comprobar el formato del archivo cvs, porque probablemente obtengas errores al realizar la importación.

Salida del cmdlet anterior.

Automatizar-la-creación-de-usuarios-del-dominio-en-Windows-Server-2016-con-un-archivo-csv-011

Si todo es correcto, bastará con redirigir la salida de la orden anterior para que actúe como entrada para el cmdlet New-ADUser. Algo como esto:

Import-Csv .\usuarios.csv | New-ADUser

Sin embargo, podemos aprovechar para asignar valores a otras propiedades de las nuevas cuentas, siempre que éstos vayan a ser iguales en todas ellas. En nuestro caso, incluiremos las siguientes:

  • -Enabled $True, para que las nuevas cuentas estén habilitadas desde el primer momento.

  • -AccountPassword (ConvertTo-SecureString -AsPlainText «Usuario.123» -Force), que establece una contraseña predeterminada para las nuevas cuentas de usuario. En particular, la contraseña Usuario.123.

  • -Path «CN=Users,DC=somebooks,DC=local», para indicar el contenedor en el que se almacenarán las cuentas.

Por lo tanto, la orden que empleraremos será como sigue:

Import-Csv .\usuarios.csv | New-ADUser -Enabled $True -AccountPassword (ConvertTo-SecureString -AsPlainText "Usuario.123" -Force) -Path "CN=Users,DC=somebooks,DC=local"

Escribimos la orden y pulsamos la tecla Intro.

Automatizar-la-creación-de-usuarios-del-dominio-en-Windows-Server-2016-con-un-archivo-csv-012

Un instante después, el trabajo habrá terminado.

Y hasta aquí el artículo de hoy. Espero que te resulte útil.