El comando un ldifde es una caracterizara de cmd para la edición del formato LDIF utilizada por Windows que utiliza para la gestión de objetos en Active Directory. Con ldifde podemos exporta o modificar por bloques los usuarios pertenecientes a una Unidad Organizativa (OU) dentro de un dominio de Active Directory.

Características de ldifde para modificar usuarios

Cuando queremos modificar un usuario en Active Directory lo mas comun es utilizar la interfaz grafica para modificarlo, que es más cómodo que si tenemos que ponemos a pensar como realizarlo mediante consola de comandos, pero cuando no queremos modificar un usuario, sino 100, por ejemplo, realizar los cambios con la interfaz se vuelve un trabajo pesado, lento y poco eficiente, para ello entonces recurrimos a la consola de comandos, donde disponemos de dos opciones para poder realizar modificaciones sobre bloques de usuarios.

  • ldifde: utiliza archivos codificados en notación estándar LDAP (Lightweight Directory Access Protocol).
  • csvde: utiliza archivo en formato csv (Comma Separated Value).

Nos vamos a centrar en ldifde, que nos permitirá automatizar el proceso de modificación de los usuarios sencilla y eficiente. Este nos permite realizar cambios sobre los archivos “*.ldf” que contiene las referencias a los directorios de LDAP, que contiene la información de la red del Active Directory de forma jerárquica distinguiendo los diferentes elementos de los que esta compuesto de forma unica. Un ejemplo seria:

  • dn: OU=Tutorial,DC=adatum,DC=com
    changetype: add
    objectClass: top
    objectClass: organizationalUnit
    ou: TutorialExtra
    distinguishedName: OU=Tutorial,DC=adatum,DC=com
    instanceType: 4
    whenCreated: 20171117080215.0Z
    whenChanged: 20171117080215.0Z
    uSNCreated: 42537
    uSNChanged: 42537
    name: expedicion
    objectGUID:: 1FKEZT8XfUC6z44m9jRZyg==
    objectCategory:
    CN=Organizational-Unit,CN=Schema,CN=Configuration,DC=adatum,DC=com
    dSCorePropagationData: 16010101000000.0Ziguration,DC=adatum,DC=com
    dSCorePropagationData: 16010101000000.0Z

Una de las principales diferencia que nos encontramos con los archivos “.ldf” frente a los archivos de tipo csvde es que solo permiten incluir nuevas entradas, con LDAP, podemos realizar cambios sobre las entradas. Para modificar atributos con ldifde, se identifica el elemento que queremos modificar utilizando su identificador único, el DN (Distinguished Name). Una vez que tenemos identificado el objeto, solo tenemos que identificar el elemento o elementos a modificar dentro del objeto y añadir, modificar o eliminar sus valores mediante los parámetros específicos del comandos ldifde para cada elemento.

Podemos crear entradas para incluir datos necesarios para los objetos con el parámetro “changetype” con el valor “add” para añadir los datos que se necesiten para un objeto o objetos especificos:

dn: CN=Alpha,OU=Tutorial,DC=adatum,DC=com
changetype: add
cn: Alpha
givenname: Alpha
sn: Apellido
objectclass: user
sAMAccountName: Alpha

Pero en cambio, si queremos realizar una modificación de uno de los valores de uno de los objetos, usaremos el parámetro “changetype” con el valor “modify” y el parámetro “replace” para modificar el valor de una entrada de un objeto:

dn: CN=Beta,OU=Tutorial,DC=adatum,DC=com
Changetype: modify
replace: objectCategory
objectCategory: CN=Person,CN=Schema,CN=Configuration,DC=adatum,DC=com

Y si en caso de que no queramos ni añadir ni modificar una entrada sino borrarla, usaremos el parámetro “changetype” con el valor “delete”, que nos permitirá eliminar el objeto que queramos:

dn: CN=Omega,OU=sistemas,DC=adatum,DC=com
Changetype: delete

Toda esta connotación de ldap hay guardarla en un archivo de texto plano con extensión “.ldf” para poder ser importados usando el comando el ldifde a la base de datos de Active Directory, para ellos deberemos lanzar el siguien comando:

  • ldifde -i -f (ruta_del_archivo.ldf)

 

Referencia: https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2000/bb727091(v=technet.10)

 

Autor/a: Daniel Garrido Sánchez
Curso: Microsoft MCSA Windows Server + MCSE Cloud Platform & Infrastructure
Centro: Tajamar
Año académico: 2017-2018
LinkedIn: https://www.linkedin.com/in/danielgarridosanchez/