Inicio > Active Directory > Como alterar el esquema y no morir en el intento – Parte 1 Entendiendo los peligros

Como alterar el esquema y no morir en el intento – Parte 1 Entendiendo los peligros


Recientemente en mi trabajo tuvimos que realizar para un demo, una serie de modificaciones al Esquema de Windows y me pareció bien explicar como se hace, que significa y por que en TODA la documentación de Microsoft te dicen "NO LO HAGAS".

Que es el Esquema de Windows?

Cuando creamos un usuario en Active Directory, se nos preguntan ciertos datos tales como su Nombre, Apellido, Nombre Común, clave, etc. Estos datos son "Atributos" del usuario, y el usuario es una clase llamada "User" que se obtiene consultando el Esquema…
Entonces ¿Ya tenemos una idea de que es el Esquema? No????, bueno, El esquema es una serie de Clases (que podemos llamar objetos de Active Directory) que contienen atributos, los cuales son la información que se puede agregar y que esta asociada a esa Clase.

Por que se pide no alterar el esquema?

Como ya comente, el esquema contiene TODA la información que se genera en Active Directory, y por lo tanto si una nueva aplicación (Como Exchange server) realiza modificaciones a Active Directory tiene que saber exactamente que cosa YA EXISTE y a la vez, MICROSOFT debe saber que cambios esta realizando esta aplicación sobre el Esquema. Sino la próxima aplicación certificada que quiera agregar un registro y tenga el mismo OID que algún atributo añadido anteriormente NO va poder funcionar.
Se entiende?, si nosotros queremos agregar un atributo que tiene un OID existente, no lo vamos a poder crear, y si creamos uno que tiene el mismo OID que alguna aplicación que queramos instalar en el futuro, dicha aplicación no podrá ser instalada.

Resumen: SI LEES ESTE DOCUMENTO, USA EL SCRIPT DESCRITO MAS ABAJO PARA GENERAR TU OID Y USALO COMO ULTIMA OPCION, YA QUE EL ALTERADO DEL ESQUEMA ES UN PROCESO IRREVERSIBLE. POR IRREVERSIBLE ENTIENDASE QUE SI EL NUMERO DE OID QUE USASTE PARA JUGAR ES EL MISMO QUE UNA APLICACION QUE NECESITAS INSTALAR EN TU DOMINIO, VAS A TENER QUE CREAR UN NUEVO DOMINIO DE ACTIVE DIRECTORY SIN TU OID PERSONALIZADO PARA PODER INSTALAR DICHA APLICACION. A NADIE LE GUSTA TENER QUE EMPEZAR SU DOMINIO DE NUEVO DESDE CERO (SOBRE TODO SI TIENES 5 MIL USUARIOS TRABAJANDO EN VARIAS OFICINAS)

Que es un OID?

Un OID (u Object Identifier) es un registro único en el Esquema, que permite mantener un orden de TODAS las aplicaciones que necesitan modificar el Esquema, no importando si son propietarias de Microsoft o pertenecen a terceros. Tanto el Esquema como los OID no son "ideas frescas de Microsoft" sino que cumplen con estándares internacionales, la mayoría de los servicios de Directorio LDAP se basan en esta misma premisa. Por lo tanto lo que aplica acá, cumple de la misma forma para los demás directorios.

Como obtengo un OID?

Si tu empresa necesita alterar el esquema como parte de un desarrollo de software tiene dos posibilidades. O pide y registra internacionalmente un grupo de OIDs para tu aplicación, o usa una lista de OIDs que Microsoft ha dejado a libre uso, usando un script que genera un numero único en base tu propio GUID. Otra parte importante es el prefijo de presentación de dicha aplicación, este prefijo debe registrarse siguiendo un protocolo de certificación explicado aquí:
http://www.microsoft.com/windowsserver2003/partners/isvs/appspec.mspx
Si uno crea un atributo, dos partes esenciales son requerimientos durante la creación del mismo:

El Common Name: Nombre descriptivo único del atributo
El OID: Numero del atributo en formato X.500

El prefijo del Common Name debe ser descriptivo de la empresa o la aplicación a la que pertenece este atributo, de esta manera permite su fácil ubicación. Este prefijo también es parte de los requerimientos para certificar una aplicación que requiera alterar el esquema.

Como Genero un OID?

Existe un script de Microsoft (sin soporte) que nos permite generar un OID automáticamente. No es muy complejo de usar, por lo tanto descarguen el archivo .VBS que les dejo mas abajo, denle doble clic, ejecutenlo y copien su nuevo OID 🙂
Necesitan conectividad de RED para que el script funcione.

http://cid-5e5045141dc03bb1.skydrive.live.com/embedrowdetail.aspx/Public/OID_Gen.vbs

Al ejecutar el Script pueden ver su nuevo OID generado, asi que copienlo con total cuidado en un Notepad

image Clic para agrandar

La solucion que yo prefiero es usar una consola y ejecutar CSCRIPT

Para hacerlo de esta forma:

1. Copien el archivo descargado a su PC
2. Abran una CMD (Inicio – Ejecutar – Escriban CMD y den clic en aceptar)
3. Dentro de la CMD busquen la carpeta en donde descargaron el archivo
4. Ejecuten "CScript OID_Gen.vbs" (sin las comillas)
5. El retorno será lo mismo que tienen en la ventana de mas arriba, pero con la ventaja que ahora pueden copiar y pegar directamente desde la consola.

image Clic para agrandar

En el siguiente post explicaré que es lo que tenemos que hacer para crear un nuevo Atributo o una nueva Clase en el esquema y ademas como usar su OID recien generado (que en realidad es el prefijo de los OIDs que ocuparan a futuro). Y finalmente en el tercer post explicare como presentar el nuevo atributo en la consola de administración de Active Directory.

Espero que les haya gustado 😀

Anuncios
Categorías:Active Directory
  1. Aún no hay comentarios.
  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: