Contenedores y hojas
Active Directory Domain Services contiene una jerarquía de objetos en los que cada instancia de objeto, excepto la raíz de la jerarquía de directorios, está contenida por algún otro objeto. La estructura de esta jerarquía es más flexible que un sistema de archivos de directorios y archivos. En su lugar, las reglas de esquema de Active Directory, determinan qué clases de objeto pueden contener instancias de qué otras clases de objeto. Por ejemplo, la definición de esquema predeterminada de la clase de objeto Userdeincluye las clases de objeto unidad organizativa y Container las clases de objeto como sea posible; es decir, posibles objetos primarios o contenedores de una instancia de objeto user de. Esto significa que un objeto unidad organizativa puede contener un objeto user de, pero un objeto user no puede contener otro objeto user , a menos que se cambie la definición de esquema de la clase user de.
Excepto para los objetos de esquema, es decir, los objetos classSchema o attributeSchema objetos que definen las clases y atributos que pueden existir en un bosque de servidores, cualquier objeto de Active Directory Domain Services puede ser un contenedor. En concreto, cualquier clase de objeto que aparezca en el possSuperiors o systemPossSuperiors atributo de una definición de clase de objeto es potencialmente un contenedor. Para obtener más información sobre los contenedores de una clase de objeto predefinida, consulte referencia de Active Directory Domain Services. Puede enlazar mediante programación al esquema abstracto y usar los métodos IADsClass::get_Containment o IADsClass::get_PossibleSuperiors para obtener las clases que una clase determinada puede contener o incluir. Para obtener más información, vea Lectura del esquema abstracto. También puede leer el posibleInferiors atributo de cualquier instancia de objeto para determinar las clases de objeto que el objeto puede contener. Tenga en cuenta que posibleInferiors es un atributo construido, lo que significa que se calcula a partir de los possSuperiors/systemPossSuperiors valores de las otras definiciones de clase y no se almacena realmente en el directorio.
Tenga en cuenta que el esquema de Active Directory define una clase Container. Como se explicó anteriormente, no es necesario que un objeto sea una instancia de la clase Container para que sea un contenedor. También hay una clase Leaf, y aunque las subclases de esta clase normalmente no son contenedores, no hay ninguna razón por la que no pueden ser.
Por último, puede establecer una marca en el especificador de visualización asociado a una clase de objeto para indicar que las interfaces de usuario siempre deben mostrar instancias de la clase como hojas en lugar de contenedores. Esto ayuda a evitar que la interfaz de usuario esté desordenada por demasiados contenedores. Para obtener más información, consulte Visualización de contenedores como nodos hoja.