Compartilhar via


Recipientes e Folhas

Os Serviços de Domínio Active Directory contêm uma hierarquia de objetos na qual cada instância de objeto, exceto a raiz da hierarquia de diretório, está contida por algum outro objeto. A estrutura dessa hierarquia é mais flexível do que um sistema de arquivos de diretórios e arquivos. Em vez disso, as regras, no Esquema do Active Directory, determinam quais classes de objeto podem conter instâncias de quais outras classes de objeto. Por exemplo, a definição de esquema padrão da classe de objeto User inclui as classes de objeto Organizational-Unit e Container como possíveis superiores, ou seja, possíveis objetos pai ou contêineres de uma instância de objeto User. Isso significa que um objeto Organizational-Unit pode conter um objeto User, mas um objeto User não pode conter outro objeto User, a menos que a definição de esquema da classe User seja alterada.

Com exceção dos objetos de esquema, ou seja, os objetos classSchema ou attributeSchema que definem as classes e os atributos que podem existir em uma floresta de servidor, qualquer objeto nos Serviços de Domínio Active Directory pode ser um contêiner. Especificamente, qualquer classe de objeto que aparece no atributo possSuperiors ou systemPossSuperiors de uma definição de classe de objeto é potencialmente um contêiner. Para obter mais informações sobre contêineres de uma classe de objeto predefinida, consulte Referência dos Serviços de Domínio Active Directory. Você pode vincular programaticamente ao esquema abstrato e usar os métodos IADsClass::get_Containment ou IADsClass::get_PossibleSuperiors para obter as classes que uma determinada classe pode conter ou ser contida. Para obter mais informações, consulte Lendo o esquema abstrato. Você também pode ler o atributo possibleInferiors de qualquer instância de objeto para determinar as classes de objeto que o objeto pode conter. Lembre-se de que possibleInferiors é um atributo construído, o que significa que ele é calculado a partir dos valores possSuperiors systemPossSuperiors/ das outras definições de classe e não é realmente armazenado no diretório.

Lembre-se de que o esquema do Active Directory define uma classe Container . Conforme discutido anteriormente, um objeto não precisa ser uma instância da classe Container para ser um contêiner. Há também uma classe Leaf e, embora as subclasses dessa classe normalmente não sejam contêineres, não há razão para que não possam ser.

Finalmente, você pode definir um sinalizador no especificador de exibição associado a uma classe de objeto para indicar que as interfaces do usuário devem sempre exibir instâncias da classe como folhas em vez de contêineres. Isso ajuda a evitar que a interface do usuário seja desordenada por muitos contêineres. Para obter mais informações, consulte Exibindo contêineres como nós de folha.