Ayuda sobre productos BOLD:

Modificar masivamente campos en LDAP

Página:
< Volver

Atención: La ejecución de lo explicado en este artículo puede generar efectos catastróficos en el servidor LDAP si no se sabe exactamente qué se está haciendo. Ve con sumo cuidado

Es posible que en algunas ocasiones, se requiera modificar (o cargar) de forma masiva campos en LDAP. Dependiendo de la cantidad de usuarios a modificar, hacerlo a mano puede convertirse en una tarea laboriosa, es por eso que recomendamos hacer uso del siguiente script:

$csvPath = "ldap_import.csv"

$csvData = Import-Csv $csvPath

foreach ($entry in $csvData) {
    Set-ADUser -Identity $entry.sAMAccountName -Replace @{employeeID=$entry.DNI;employeeNumber=$entry.Matricula}
    Write-Host $entry.sAMAccountName " " $entry.DNI "  " $entry.Matricula
}

Explicación del script y cómo usarlo

Lo primero de todo que necesitamos es un Excel con los datos a cargar. Los nombres de la columna de ese Excel son importantes.

Una vez tengamos el Excel, debemos exportarlo como archivo .csv y usar como delimitador una coma (“,”).

  • En el script, lo que está marcado en naranja, es el nombre del archivo (o ruta del archivo) .csv que se leerá.
  • Lo que está marcado en rojo, son las columnas de ese .csv que se van a cargar. Debes tener en cuenta que en este ejemplo, vamos a utilizar la columna sAMAccountName para reconocer de forma inequívoca al usuario que vamos a modificar. Es posible que en tu LDAP se esté usando un campo diferente para identificarlos (como por ejemplo email o DNI). Modifícalo acorde a tu .csv.
  • Lo que está marcado en morado, son los campos que serán modificados en el LDAP, en este ejemplo, vamos a cargar en el campo employeeID del LDAP el dato que hay en la columna DNI del .csv. De la misma forma que en el campo employeeNumber del LDAP, se cargará lo de la columna Matricula del .csv.

Ejecución del script

La ejecución del script es bastante sencilla.
Debes guardar el script como un archivo .ps1 por ejemplo ImportCSVData.ps1.
Por comodidad, es preferible que el archivo .ps1 y el .csv (¡recuerda que los delimitadores del .csv deben ser comas!) estén en una misma carpeta.
Seguidamente ejecuta el siguiente comando en un PowerShell abierto como administrador y desde un servidor que tenga los permisos adecuados (como por ejemplo, Controlador de dominio)

powershell -executionpolicy bypass -File .\ImportCSVData.ps1
Was this article helpful?
0 out Of 5 Stars
5 Estrellas 0%
4 Estrellas 0%
3 Estrellas 0%
2 Estrellas 0%
1 Estrellas 0%
5
How can we improve this article?
How Can We Improve This Article?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Contenido