Hace unos meses os explique en esta entrada como podíais exportar a Excel los usuarios de Active Directory. Hoy como algunos me habéis pedido voy a explicaros como podemos hacer el proceso inverso, es decir, importar usuarios en Active Directory desde un fichero CSV.
Este método os resultará muy útil para aquellos casos que tengáis que dar de alta muchos usuarios ya que nos permitirá hacerlo de una forma fácil y rápida sin tener que ir creándolos uno a uno desde la consola de Usuarios y Equipos de Active Directory.
Preparación Excel (CSV)
En primer lugar crearemos un fichero Excel con los siguientes campos:
- FullName
- givenName
- company
- department
- title
- telephoneNumber
- City
- sAMAccountName
- Password
Nota: Si queréis podéis añadir más atributos en función de vuestras necesidades.
![](https://tutorialesit.com/wp-content/uploads/2020/05/PowerShell_Importar_Usuario_Active_Directory1-1.jpg)
Una vez tenemos el Excel relleno el siguiente paso será exportarlo a un fichero CSV (delimitado por comas).
![](https://i1.wp.com/tipstecnologicos.es/wp-content/uploads/2020/05/PowerShell_Importar_Usuario_Active_Directory2-1.jpg?fit=1024%2C527&ssl=1)
Importar CSV mediante PowerShell
Creamos un fichero de texto con el siguiente código y lo guardaremos con la extensión .ps1
Nota: En el caso de haber añadido o quitado campos en el momento de preparar el Excel tendréis que hacer estas mismas modificaciones en el script.
Import-Module ActiveDirectory #Sustituir por vuestro dominio $Domain="@tipstecnologicos.es" #Sustituir por vuestra OU y dominio donde quereis realizar la importacion $UserOu="OU=Tutorial,DC=tipstecnologicos,DC=es" #Sustituir indicando la ruta y el nombre de vuestro fichero csv $NewUsersList=Import-CSV "C:\Tutorial\Importar_Usuarios.csv" -delimiter ";" ForEach ($User in $NewUsersList) { $FullName=$User.FullName $givenName=$User.givenName $Company=$User.company $Department=$User.department $title=$User.title $telephoneNumber=$User.telephoneNumber $City=$User.City $sAMAccountName=$User.sAMAccountName $userPrincipalName=$User.sAMAccountName+$Domain $userPassword=$User.Password $expire=$null New-ADUser -PassThru -Path $UserOu -Enabled $True -ChangePasswordAtLogon $True -AccountPassword (ConvertTo-SecureString $userPassword -AsPlainText -Force) -CannotChangePassword $False -City $City -Company $Company -Department $Department -Title $title -OfficePhone $telephoneNumber -DisplayName $FullName -GivenName $givenName -Name $FullName -SamAccountName $sAMAccountName -UserPrincipalName $userPrincipalName }
Nota: Como buena practica en materia de seguridad he añadido los parámetros ChangePasswordAtLogon y CannotChangePassword al script para que los usuarios, en el primer inicio de sesión, cambien obligatoriamente la contraseña que definimos en la plantilla Excel.
Copiamos tanto el fichero .ps1 como el csv en nuestro servidor de dominio y ejecutamos el script (archivo .ps1).
Nota: Si os sale un error indicando que la ejecución de script se encuentra deshabilitada, podéis pasaros por esta entrada donde explico como podéis activarlo.
![](https://tutorialesit.com/wp-content/uploads/2020/05/PowerShell_Importar_Usuario_Active_Directory3.jpg)
![](https://tutorialesit.com/wp-content/uploads/2020/05/PowerShell_Importar_Usuario_Active_Directory4-1.jpg)
Y listo siguiendo estos sencillos pasos ya tendremos creados los nuevos usuarios en nuestro dominio.
![](https://tutorialesit.com/wp-content/uploads/2020/05/PowerShell_Importar_Usuario_Active_Directory5-1.jpg)
Espero os haya servido de utilidad.
Entradas relacionadas
- Como configurar un servidor de dominio en Windows Server 2019
- Delegación Permisos Administración Active Directory
- PowerShell: Notificación por correo electrónico a los usuarios del tiempo restante hasta la caducidad de su contraseña de dominio
- Migración de Dominio de Windows Server 2008 R2 a Windows Server 2019 – Parte 1
![](https://tutorialesit.com/wp-content/uploads/2024/05/Foto-Sergio.jpg)
Me dedico a la Administración de Sistemas y he creado este blog para compartir mis conocimientos con toda la comunidad y así aportar mi granito de arena y ayudar a todo el que lo necesite.
Excelente Sergio Portillo e seguido tus instrucciones al pie de la letra y me han sido de gran ayuda estoy muy agradecido gracias por tu aporte al mundo del conocimiento.
Buen dia,
Tengo varios usuarios que se encuentran en diferentes OU para moverlos a una OU en especifica.
Agradezco si puede ayudarme
Hola Oscar,
En primer lugar tendrías que exportarlos. En esta entrada explico como realizar una exportación a Excel y posteriormente importarlo siguiendo los pasos de esta entrada.
Saludos.
Muy bueno sergio me funco al pelo solo que le inclui el scriptpath pero no me lo pega
era donde tenia apuntado los archivos .bat para el mapeo de unidades, tenes idea que podra ser
saludos cordiales
Hola Pablo,
No entiendo muy bien cual es el problema, ¿podrías detallármelo un poco más por favor?.
Saludos.