como-crear-usuarios-masivo-windows-server
29
noviembre
2018

Hola, soy Jesús, Profesor de Sistemas en CIPSA. hoy os traigo un nuevo Post que os mostrará cómo crear usuarios en Windows Server 2016 gracias a Active Directory.

Esto lo podremos hacer de forma masiva, utilizando el conocido Powershell.

Recordad que este Post está basado en Windows Server 2016, y en este caso no servirá para otras versiones.

Antes de empezar quisiera agradecer vuestras peticiones, porque me ayudan a saber qué temas os interesan más para poder ofreceros información útil, práctica, y adaptada a vuestras necesidades.

Vamos a ir paso a paso para facilitar la comprensión.

Paso 1: Crear archivo *.XLSX

Lo primero que necesitamos es un archivo *.XLSX con todos los datos de los usuarios a dar de alta en A.D (Active Directory). Esto lo podemos realizar con un Excel, en el que se puede crear, por ejemplo, los campos “CUENTA, NOMBRE, APELLIDOS, DIRECCION, DESCRIPCION».

La primera Línea/Fila de este Excel es la que se utilizará como cabecera de cada columna para vincular con los campos de Active Directory.  El fichero primero se guardará como USUARIOS.xlsx. Debería quedar de la siguiente forma:

primer-paso-crear-users-masivamente-windows-server

A continuación, guardaremos el mismo fichero con el nombre de USUARIOS.csv. Recuerda que, al guardar, has de seleccionar el formato “CSV (delimitado por comas) (*.csv)”. Compruébalo en la siguiente imagen

guardar-archivo-csv-delimitado-por-comas

Esto nos creará un fichero con la extensión .CSV. Como ya habíamos creado el fichero USUARIOS.xlsx al principio, ahora habrá dos ficheros con el mismo nombre pero de diferente extensión:

Paso 2: Creación del Script

Antes de empezar con la creación del Script, realizaremos una verificación importante. Hemos de comprobar que el fichero USUARIOS.CVS está delimitado por comas para que se pueda leer correctamente desde el Script.

Para ello vamos a abrir el fichero desde el Bloc de Notas. Como puedes observar en la imagen siguiente, los campos están separados por “;”. Esto es incorrecto, y por tanto lo hemos de modificar por “,” ¡Atención a estos pequeños detalles!

verificar-usuarios-punto-y-coma

Una vez modificado, debería estar así:

correcto-usuarios-coma

Observa cómo hemos sustituido los punto y comas erróneos por “,”

Ahora solo hemos de grabar las modificaciones y cerrar el Bloc de Notas.

Una vez realizada esta verificación sí que llega el momento de crear el Script. Para ello como paso previo, copiaremos los dos ficheros “USUARIOS.csv y USUARIOS.xlsx a nuestro Controlador de Dominio o D.C que es desde donde lo ejecutaremos.

Una vez realizados estos pasos vamos a por la parte del Script. Éste se llamará ADDUSERS.PS1 y tendrá el siguiente contenido (Las Líneas Amarillas es texto Explicativo, podéis obviarlas)

Empezaremos importando el Módulo de Active Directory

Import-Module ActiveDirectory

Aquí le teclearemos la Ruta donde se encuentra el Fichero *.CSV que hemos creado

[String]$Ruta = Read-Host «Trayectoria donde se Localiza el archivo USUARIOS.csv”

La siguiente sentencia le indicamos que vamos a crear una Unidad Organizativa llamada “Usuarios-Moviles” en el Dominio Actual dentro de Active Directory

$ou=»OU=Usuarios-Moviles» + «,» + (Get-ADDomain).DistinguishedName

La siguiente Línea Comprueba que la Unidad Organizativa no Exista, si es así creará la Unidad Organizativa, en caso contrario continuará con dicho Script

If(-Not(Get-ADOrganizationalUnit -Filter {Name -eq «Usuarios-Moviles»})){New-ADOrganizationalUnit «Usuarios-Moviles» -Path (Get-DDomain).DistinguishedName}

$dominio=(Get-ADDomain).DNSRoot

Importamos el Fichero CSV y posteriormente creará los Usuarios dentro del Dominio Actual y de la UO creada anteriormente. Aquí también vinculamos cada campo de EXCEL con el real de Active Directory

Import-Csv -Path $Ruta | foreach-object {$UPN = $_.CUENTA + «@» + «$dominio»

New-ADUser -SamAccountName $_.CUENTA -UserPrincipalName $UPN -Name $_.NOMBRE -DisplayName $_.NOMBRE -SurName $_.APELLIDOS -GivenName $_.NOMBRES -Description $_.DESCRIPCION -Office $_.OFICINA -OfficePhone $_.TELEFONO -EmailAddress $_.EMAIL -Title $_.TITULO -Department $_.DEPARTAMENTO -Company $_.COMPANIA -City $_.CIUDAD -State $_.ESTADO -AccountPassword (ConvertTo-SecureString $_.Clave -AsPlainText -force) -Path $ou -Enabled $true -ChangePasswordAtLogon $true -Verbose}

Paso 3: Ejecutar el Script

Ahora Ejecutaremos el Script dentro de PowerShell con permisos de Administrador

Recuerda que previamente deberías haber copiado el fichero .CSV y .PS1 dentro del Domain Controller donde se Ejecutará el Script. En mi caso los copie en la unidad C:\>

En unos segundos tendremos creados todos los usuarios dentro de AD

PS c:\ .\ADDUSERS.PS1

Si Entramos en la consola de “Usuarios y Equipos de Active directory” veremos cómo hay una nueva Unidad Organizativa creada “Usuarios-Móviles”, y dentro de ésta todos nuestros usuarios creados.

Autor: Jesús Rodríguez, Profesor Cursos de Sistemas CIPSA
Imparto Clases de Sistemas en CIPSA desde Windows Server 2003 R2 hasta el actual Windows Server 2016, pasando por Certificaciones MSCA.
Me encanta el mundo de la Virtualización. Otra de mis pasiones son las redes tanto LOCALES como WAN mediante VPN´s tanto a nivel de Software como de Hardware.

Author

Jesús Rodríguez

Profesor del Máster en Redes y Sistemas. Ingeniería de Sistemas informáticos. Especialista en Comunicaciones y Redes, Sistemas y SAP

Recibe de primero nuestras ofertas de empleo y noticias