Si ha recibido alguna vez una hoja de cálculo de Excel con una lista de 200 empleados nuevos que empiezan la semana próxima, o si sus cuentas de usuario se han configurado incorrectamente porque el personal de soporte técnico hizo clic en algo en lo que debía haber hecho clic, o si simplemente desea facilitar la administración de Active Directory® sin tener que abrir usuarios y equipos cada vez, existen varias herramientas de administración gratuitas que pueden ayudarle con todo esto. Algunas se han creado directamente en el sistema operativo Windows®, otras proceden de un kit de recursos o de las herramientas de soporte de Windows y algunas otras son herramientas de terceros gratuitas. ¿Cuáles son estas herramientas tan prácticas y dónde pueden obtenerse? Averigüémoslo. Empezaré con las herramientas de la línea de comandos integradas en Windows Server® 2003 que permiten crear, eliminar, modificar y buscar objetos en Active Directory. CSVDE La herramienta Comma-Separated Values Data Exchange, conocida como CSVDE, permite importar objetos nuevos a Active Directory mediante un archivo de código de origen CSV; también proporciona la capacidad de exportar objetos existentes a un archivo CSV. CSVDE no puede usarse para modificar objetos existentes; cuando se usa esta herramienta en el modo de importación, es sólo para crear objetos nuevos. Exportar una lista de objetos existentes con CSVDE es bastante sencillo. Aquí se muestra cómo se exportan objetos de Active Directory a un archivo llamado ad.csv: csvde –f ad.csv El modificador de comandos –f indica que sigue el nombre del archivo de salida. Pero debe ser consciente de que, en función del entorno, esta sintaxis básica podría tener como resultado un archivo de salida muy grande y difícil de manejar. Para restringir la herramienta de forma que sólo se exporten objetos dentro de una unidad organizativa concreta, se pueden modificar las instrucciones de la siguiente manera: csvde –f UsersOU.csv –d ou=Users,dc=contoso,dc=com Digamos además que sólo está interesado en exportar objetos de usuario al archivo CSV. En ese caso, se puede agregar el modificador de comandos –r, el cual permite especificar un filtro del Protocolo ligero de acceso a directorios (LDAP) para la búsqueda, y el modificador de comandos –l, el cual restringe el número de atributos que se van a exportar (observe que lo que sigue está todo en una línea): csvde –f UsersOnly.csv –d ou=Users,dc=contoso,dc=com –r “(&(objectcategory=person)(objectclass=user))” –l DN,objectClass,description El modificador de comandos -i permite importar objetos a Active Directory desde un archivo de origen CSV. Sin embargo, crear objetos de usuario con CSVDE tiene una limitación importante: no se pueden establecer contraseñas de usuario. A causa de esto, se recomienda evitar el uso de CSVDE para crear objetos de usuario. LDIFDE Active Directory ofrece una segunda herramienta integrada para operaciones masivas del usuario llamada LDIFDE y que es más eficaz y flexible que CSVDE. Además de crear objetos nuevos, LDIFDE también puede modificar y eliminar objetos existentes e incluso ampliar el esquema de Active Directory. El equilibrio para la flexibilidad de LDIFDE es que el archivo de entrada necesario, que se llama archivo LDIF con la extensión .ldf, usa un formato más complejo que el archivo sencillo de CSV. (Con un poco de trabajo también se podrán configurar contraseñas de usuario, pero llegaremos a este punto dentro de un momento). Empecemos con un ejemplo sencillo: exportar usuarios desde una unidad organizativa a un archivo de LDF (observe que lo que sigue está todo en una línea): ldifde -f users.ldf -s DC1.contoso.com -d “ou=UsersOU,dc=contoso,dc=com” –r “(&(objectcategory=person)(objectclass=user))” Al igual que con la mayoría de las herramientas de la línea de comandos, se puede encontrar una explicación completa de los modificadores de comandos LDIFDE ejecutando el comando LDIFDE /?. La figura 1 describe los que se han usado aquí. (Observe que los modificadores de comandos son de hecho lo mismo para los comandos CSVDE y LDIFDE). Modificador de comandos Descripción -d Permite especificar la ruta de acceso del LDAP al que LDIFDE debe conectarse para la operación. -f Permite indicar el nombre del archivo que va a usarse, en este caso para ofrecer los resultados de la exportación. -r Permite especificar el filtro LDAP que se usará para una exportación. -s Permite especificar el controlador de dominio (DC) al que debe conectarse para realizar la operación. Si se excluye este comando, LDIFDE se conectará al controlador de dominio local (o el que autenticó al ejecutar la herramienta desde una estación de trabajo). La verdadera eficacia de LDIFDE está en la capacidad de creación y manipulación de los objetos. Sin embargo, antes de hacer esto, se deberá crear un archivo de entrada. Lo siguiente crea dos cuentas de usuario nuevas llamadas afuller y rking; para crear el archivo de entrada, escriba el texto en el Bloc de notas (o en su editor favorito de texto sin formato) y guárdelo como NewUsers.ldf: dn: CN=afuller, OU=UsersOU, DC=contoso, DC=com changetype: add cn: afuller objectClass: user samAccountName: afuller dn: CN=rking, OU=UsersOU, DC=contoso, DC=com changetype: add cn: rking objectClass: user samAccountName: rking Tras haber creado el archivo, ejecute el comando siguiente: difde –i –f NewUsers.ldf –s DC1.contoso.com El único modificador de comandos nuevo aquí es -i, que, como puede adivinarse, indica que se trata de una operación de importación en vez de una de exportación. Al modificar o eliminar objetos existentes, la sintaxis para el comando de LDIFDE no cambia; en vez de eso, se modifica el contenido del archivo LDF. Para cambiar el campo de descripción de las cuentas de usuario, cree un archivo de texto llamado ModifyUsers.ldf, tal como el que se muestra en la figura 2. Los cambios se importan al ejecutar la misma sintaxis del comando de LDIFDE como antes, especificando el nombre nuevo de archivo LDF después del modificador de comandos -f. El formato LDF para eliminar objetos es aún más sencillo; para eliminar los usuarios con los que ha estado trabajando, cree un archivo llamado DeleteUsers.ldf y escriba lo siguiente: dn: CN=afuller OU=UsersOU, DC=contoso, DC=com changetype: delete dn: CN=rking, OU=UsersOU, DC=contoso, DC=com changetype: delete Tenga en cuenta que a diferencia de CSVDE, LDIFDE sí puede configurar contraseñas de usuario. Sin embargo, antes de poder configurar el atributo unicodePWD para una cuenta de usuario, debe configurarse el cifrado de nivel de sockets seguros o la seguridad del nivel de transporte (SSL/TLS) en los controladores de dominio. Además, LDIFDE puede crear y modificar cualquier tipo de objeto de Active Directory, no sólo las cuentas de usuario. El archivo LDF siguiente, por ejemplo, creará una extensión de esquema personalizada llamada EmployeeID-example en el esquema del bosque contoso.com: dn: cn=EmployeeID-example,cn=Schema, cn=Configuration,dc=contoso,dc=com changetype: add adminDisplayName: EmployeeID-Example attributeID: 1.2.3.4.5.6.6.6.7 attributeSyntax: 2.5.5.6 cn: Employee-ID instanceType: 4 isSingleValued: True lDAPDisplayName: employeeID-example Dado que los archivos de LDIFDE usan el formato de archivo estándar del sector LDAP, las aplicaciones de terceros que necesitan modificar el esquema de Active Directory a menudo suministrarán archivos LDF que pueden usarse para examinar y aprobar los cambios antes de aplicarlos al entorno de producción. Además de herramientas para las operaciones de importación y exportación masivas, Windows Server 2003 incluye también un conjunto de herramientas integrado que permite crear, eliminar y modificar distintos objetos de Active Directory, así como realizar consultas para objetos que cumplen ciertos criterios. (Tenga en cuenta que estas herramientas, dsadd, dsrm, dsget y dsquery, no son compatibles con Active Directory para Windows 2000). Dsadd Dsadd se usa para crear una copia de una clase de objeto de Active Directory en una partición de directorios concreta. Estas clases incluyen usuarios, equipos, contactos, grupos, unidades organizativas y cuotas. Dsadd tiene una sintaxis genérica que consiste en lo siguiente: dsadd