Diretrizes para vinculação ao esquema
Há duas maneiras de vincular ao esquema do Active Directory:
- Vincule diretamente ao contêiner de esquema ou a um objeto classSchema ou attributeSchema no contêiner de esquema. Os objetos classSchema ou attributeSchema contêm definições completas e formais de cada classe e atributo que podem existir em uma floresta de Domínio do Active Directory. Para obter mais informações, consulte Lendo attributeSchema e classSchema Objects.
- Vincule-se ao esquema abstrato ou a uma entrada de classe ou atributo no esquema abstrato. O esquema abstrato contém apenas um subconjunto dos dados sobre cada classe e atributo, mas os dados estão em um formato fácil de recuperar e usar. Para obter mais informações, consulte O esquema abstrato e Lendo o esquema abstrato.
Para modificar ou estender o esquema, vincule-se diretamente ao contêiner do esquema. Para ler as definições de classe e atributo, geralmente é mais fácil ler a partir do esquema abstrato.
É mais fácil ler a partir do esquema abstrato pelos seguintes motivos:
- ADSI fornece técnicas especiais de ligação e um conjunto de interfaces para ler o esquema abstrato.
- As interfaces ADSI que trabalham com o esquema abstrato retornam dados em um formato apropriado para uso em outras interfaces ADSI. Por exemplo, IADsClass e IADsProperty normalmente usam cadeias de caracteres lDAPDisplayName para relatar nomes de atributos e classes, mesmo que esses dados sejam armazenados no diretório na forma de identificadores de objeto (OIDs). O formato lDAPDisplayName é conveniente porque outras interfaces ADSI o usam para se referir a classes e atributos em filtros de pesquisa e em outros lugares.
- A entrada de esquema abstrato para uma classe de objeto contém dados coletados de vários objetos classSchema . Por exemplo, os possíveis pais, atributos obrigatórios e atributos opcionais para uma classe de objeto são a união desses atributos das superclasses e classes auxiliares da classe. Se você ler do contêiner de esquema real, precisará coletar dados dos vários objetos classSchema dos quais a classe foi derivada. Se você ler a partir do esquema abstrato, os dados estarão em um só lugar.
Você deve vincular diretamente ao contêiner de esquema em vez de usar o esquema abstrato nos seguintes casos:
- Para obter atributos específicos não expostos no esquema abstrato. Por exemplo, oMSyntax, attributeSchema, defaultSecurityDescriptor e outros atributos não são expostos no esquema abstrato.
- Para consultar objetos attributeSchema e classSchema. Para procurar classes ou atributos que correspondam a um filtro especificado, vincule-se ao contêiner de esquema e execute uma pesquisa de um nível.
- Para adicionar ou modificar atributos ou classes. O esquema abstrato é somente leitura; você não pode usá-lo para modificar ou estender o esquema. Lembre-se de que as modificações devem ser feitas no controlador de domínio que é o mestre de esquema. Para obter mais informações, consulte Pré-requisitos para instalar uma extensão de esquema.