A la hora de realizar modificaciones dentro del esquema de nuestro Directorio Activo, el uso de Usuarios y Equipos de AD muestra de forma simple y cómoda cualquiera de los objetos que componen esta consola, pero cuando manejamos gran cantidad de datos no es la forma más eficiente de realizar nuestro trabajo.

Cuando debamos realizar tareas en Bloque, como crear toda una sección de equipos o personal, o modificar sus datos, necesitaremos una herramienta que nos permita realizar estas tareas de forma eficiente, reduciendo el tiempo empleado al mínimo imprescindible.

Si queremos automatizar el proceso, podemos realizar las tareas a través de archivos, de forma que resulta más cómodo editar los contenidos o crear scripts que nos ayuden en la tarea, así como importar o exportar toda esta información. En Windows 2012 R2 tenemos una serie de comandos heredados, que permitirán realizar cualquiera de estas operaciones. Dependiendo del tipo de archivo a incluir

– csvde: utiliza archivo en formato csv (Comma Separated Value).

– ldifde: utiliza archivos codificados en notación estándar LDAP (Lightweight Directory Access Protocol).

Centrándonos en ldifde, podremos realizar de forma flexible, sencilla y eficiente todo tipo de cambios importando archivos con extensión .ldf que hace referencias al árbol de directorios LDAP, que representa de forma jerárquica la información de nuestra red y distingue los elementos de nuestro directorio identificándolos de forma única.

 

dn: OU=expedicion,DC=adatum,DC=com
changetype: add
objectClass: top
objectClass: organizationalUnit
ou: logistica
distinguishedName: OU=expedicion,DC=adatum,DC=com
instanceType: 4
whenCreated: 20151008090107.0Z
whenChanged: 20151008090107.0Z
uSNCreated: 57625
uSNChanged: 57625
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
De esta manera, LDAP nos permitirá identificar todos los componentes de nuestro bosque o dominio, desde Unidades Organizativas o Grupos a entradas representando equipos, impresoras, documentos, usuarios o incluso contraseñas, a través de entradas que los representan.

A diferencia de los archivos .csv, que sólo permite la inclusión de nuevas entradas, tendremos la posibilidad de hacer cambios. Cuando utilicemos archivos .ldf para modificar atributos, identificaremos el elemento a modificar, usando su DN (Disntinguised Name), que nos permitirá diferenciarlo dentro del esquema AD. Haciendo referencia al objeto que modificaremos, tendremos la posibilidad de añadir, modificar o eliminar entradas con el atributo Changetype, la acción a realizar y la referencia al atributo.

Creando nuevas entradas, incluiremos los datos que sean necesarios para el nuevo objeto con changetype: add, añadiendo todos los datos que necesitemos:
dn: cn=usuarioprueba,ou=sistemas,dc=adatum,dc=com
changetype: add
cn: usuarioprueba
givenname: usuario
sn: prueba
objectclass: user
sAMAccountName: Userprb
De esta manera, para añadir un nuevo atributo que anteriormente no estuviera presente dentro del objeto, usando la opción changetype: modify e indicando la acción de añadir (add):
dn: cn=usuariodeprueba,ou=sistemas,dc=adatum,dc=com
Changetype: modify
add: sAMAccountName
sAMAccountName: User1
 

En el caso de necesitar realizar un cambio, incluiremos una entrada similar, pero indicando que realizaremos una modificación, en este caso reemplazando (replace):
dn: cn=usuariodeprueba,ou=sistemas,dc=adatum,dc=com
Changetype: modify
replace: objectCategory
objectCategory: CN=Person,CN=Schema,CN=Configuration,DC=adatum,DC=com
Por último, para eliminar las entradas, el atributo changetype: delete nos permitirá borrar la entrada que refiramos:
dn: cn=usuariodeprueba,ou=sistemas,dc=adatum,dc=com
Changetype: delete
Cualquiera de estas modificaciones incluidas en el archivo que creemos, deben ser volcadas al sistemas usando el comando ldif, en este caso importando su contenido.

> ldifde -i -f [path.csv]
A la hora de realizar estos cambios, la mayor dificultad que encontraremos será reconocer los objectclass que nos servirán de referencia en cada uno de los atributos. Nuestra obligación será conocer al menos los más básicos y sus peculiaridades, como el saber diferenciar entre distintos tipos o como incluir las entradas.

La única desventaja que se presenta con respecto a .csv es la falta de comandos Powershell para el trabajo en este formato, dado que no podemos importar de la misma manera que hacemos con import-csv.

Personalmente y una vez superados estos pequeños escollos, esta representación me resulta más visual dado que nos permite observar del esquema separando cada una de las entradas de nuestro Directorio Activo, identificarlas y referirnos rápidamente al objeto que queremos cambiar y no necesitamos una herramienta más complicada que un simple editor de texto.

 

Juan José Hernández

Alumno de MCSE 2015/16, Centro Tajamar.