Extender el esquema de Active Directory
Introducción
Active Directory nos proporciona toda la información que necesitamos para poder trabajar con cuentas de usuario en entornos multitarea Windows, pero ocasionalmente, necesitamos añadir información adicional sobre la que un despliegue estándar nos proporciona. El componente que define todos los atributos y objetos que AD usa para almacenar datos se llama Active Directory Schema. Para poder hacer cambios el en esquema, es necesario que una cuenta de usuario pertenezca al grupo “Schema Admins”.
Este artículo va a enseñar cómo extender el esquema de Active Directory agregando atributos personalizados.
Cómo agregar un atributo personalizado a Active Directory
Agregar un atributo personalizado consta de los siguientes pasos:
Preparar la MMC
En primer lugar, hay que instalar el complemento “Esquema de Active Directory” para la Microsoft Management Console (MMC).
Para ello, hay que abrir la ventana del símbolo del sistema y escribir “regsvr32 schmmgmt.dll”
Este comando registrará schmmgmt.dll en el equipo.
Para ejecutar el complemento de esquema de Active Directory:
Hay que abrir la MMC, para ello, hay que hacer clic en Inicio y en Ejecutar, se escribe “mmc /a”. En el menú Archivo, haga clic en Agregar o quitar complemento y, después, en Agregar. Finalmente, en Complementos independientes disponibles, hay que añadir el snap-in “Esquema de Active Directory”.
Con el complemento de MMC ya cargado, es posible empezar a ampliar el esquema de Active Directory.
Agregar un atributo personalizado
Para ello, hay que hacer un click derecho en la carpeta de “Atributos” y seleccionar “Crear Atributo…”
Al hacerlo, aparece un diálogo de advertencia informándonos de que la creación de objetos del esquema es una operación de carácter permanente, y que aunque se pueden deshabilitar a posteriori, no se pueden eliminar y por tanto se convertirán en una parte permanente del AD.
En el diálogo que se abre, hay que aportar una serie de información, como el “Nombre Común” del atributo (por ejemplo, “SyncCustomers” o “SyncOffice365”), un DisplayName para LDAP, un identificador X500 único (ver Anexo, un script PowerShell que genera identificadores X500 válidos), un comentario descriptivo (opcional), la Sintaxis (Lo más habitual para estos casos es elegir “Unicode String”), los valores mínimo y máximo (opcionales), y un checkbox para indicar si va a ser un atributo multivaluado o no. En este caso, no va a ser multivaluado.
Añadir el atributo a una clase
El atributo que se acaba de crear se puede añadir a una o más clases. Para hacerlo, hay que seguir los siguientes pasos:
- En la herramienta administrativa de Esquema, ir a “Classes”, elegir la clase que hay que actualizar, y abrir sus propiedades.
- Una vez abiertas las propiedades, hay que acudir a atributos, hacer clic en “Añadir”, y elegir el atributo que acaba de ser creado.
Con esto, se añade el atributo personalizado a la clase “Usuario”. En el caso de AADSync, también habría que añadir este atributo a la clase “Contacto”, lo que nos permite modificar este atributo a discreción para poder hacer un ajuste fino a los contactos que se van a sincronizar con Office 365.
Desactivar Atributos
Como los atributos añadidos a AD toman residencia permanente en el directorio, en ocasiones puede ser necesario desactivarlos, sea por el motivo que sea. En tal caso, la información de los siguientes enlaces puede ser sumamente útil:
Anexo: Script Generador de OID
1 2 3 4 5 6 7 8 9 10 11 12 |
$Prefix="1.2.840.113556.1.8000.2554" $GUID=[System.Guid]::NewGuid().ToString() $Parts=@() $Parts+=[UInt64]::Parse($guid.SubString(0,4),"AllowHexSpecifier") $Parts+=[UInt64]::Parse($guid.SubString(4,4),"AllowHexSpecifier") $Parts+=[UInt64]::Parse($guid.SubString(9,4),"AllowHexSpecifier") $Parts+=[UInt64]::Parse($guid.SubString(14,4),"AllowHexSpecifier") $Parts+=[UInt64]::Parse($guid.SubString(19,4),"AllowHexSpecifier") $Parts+=[UInt64]::Parse($guid.SubString(24,6),"AllowHexSpecifier") $Parts+=[UInt64]::Parse($guid.SubString(30,6),"AllowHexSpecifier") $OID=[String]::Format("{0}.{1}.{2}.{3}.{4}.{5}.{6}.{7}",$prefix,$Parts[0],$Parts[1],$Parts[2],$Parts[3],$Parts[4],$Parts[5],$Parts[6]) $oid |