Creación de usuarios de forma masiva con Powershell a partir de un archivo de Excel
Este post trata sobre la importación masiva de usuarios con PowerShell a un directorio activo de Azure a partir de una lista creada en Excel, la cual exportaremos con la extensión csv. En este archivo, debemos completar todos los atributos de usuario importantes como, por ejemplo el nombre, apellidos, el nombre de la cuenta que se le creará al usuario, la contraseña y como atributos opcionales la provincia, el departamento, número de teléfono, etc.
Para hacer bien este proceso es necesario que nuestra lista de usuarios exportada (archivo.csv) esté separada con delimitadores (mejor si son comas “,” aunque también podemos especificar el delimitador que queramos añadiendo al script el siguiente parámetro: -delimitador «;»).
El siguiente script nos ayudará a automatizar la tarea de crear un gran número de usuarios:
Import-Csv «C:\UsuariosEmpresa.csv» | ForEach-Object {
$upn = $_.Cuenta + «@mastersistemas.loc»
$uname = $_.Nombre + » » + $_.Apellidos
New-ADUser -Name $uname -Surname $_.Apellidos -SamAccountName $_.Cuenta -UserPrincipalName $upn -City $_.Provincia -Path «OU=Usuarios,DC=mastersistemas,DC=loc» -AccountPassword (ConvertTo-SecureString $_.Password -AsPlainText -force) -Enabled $True -PasswordNeverExpires $True -PassThru}
Si queremos añadir más información de los usuarios solo tenemos que ir añadiendo más columnas a nuestra lista de Excel y nuevos parámetros que coincidan con esas columnas en nuestro script, por ejemplo: -Department $_.Departamento
También podemos usar este script para añadir nuevos usuarios a un grupo en el momento en que se crean con una nueva línea: Add-AdGroupMember -Identity NombreGrupo $_:SamAccountName
Otro uso que le podemos dar a nuestro script es cuando queremos cambiar algún dato común a todos los usuarios en el momento de su creación, por ejemplo queremos cambiar la compañía de los empleados y que sea la misma para todos :Set-ADUser $_.samAccountName -Company NombreEmpresa
Personalmente pienso que este tipo de scripts para crear usuarios masivamente nos salva de realizar tareas repetitivas y nos ahorra una buena cantidad de tiempo, por lo que es bueno saber manejarse bien con scripts de Powershell.
Además este script lo puedes personalizar a tus necesidades y no solo sirve para crear usuarios, sino que simultáneamente puedes ir aplicando otros cambios de última hora como el ejemplo del nombre de la empresa o también establecer una foto predeterminada para los usuarios y bloquearla para que no puedan cambiarla.
Pero por otro lado hay que tener mucho cuidado al escribir el script y al obtener los datos del archivo .csv porque por cualquier comilla que no sea la que te acepta PowerShell o un parámetro que no esté bien escrito o no exista, puedes llevarte un buen rato intentando descubrir cuál es el fallo y cómo hacer para que te funcione bien.
- Autor/a: Alejandra Juárez Gómez
- Curso: Administración de Sistemas MultiCloud Azure y AWS
- Centro: Tajamar
- Año académico: 2021-2022