Выбор того, что найти
Прежде чем искать каталог, рассмотрим, как будет выполняться поиск на основе вашего подхода. Возвращаемые данные и свойства влияют на то, где вы привязываетесь к началу поиска, глубине поиска, фильтру запросов и производительности поиска.
Например, если вы хотите найти все объекты пользователя с фамилией Смит:
Область | Description |
---|---|
Где искать | Определенный контейнер или подразделение (подразделение) в домене, определенный домен, дерево домена или весь лес. При поиске объектов в определенном контейнере или домене запрос поиска будет лучше выполняться путем привязки непосредственно к такому контейнеру или домену вместо выполнения поддеревого поиска в дереве домена. |
Тип поиска | Если вы проверяете существование или извлекаете свойства определенного объекта, имеющего различающееся имя (DN), вы уже знаете, следует выполнить базовый поиск, который выполняет поиск только к объекту, к которому привязан. Если вы знаете, что объект является прямым потомком конкретного контейнера, привязывайтесь к данному контейнеру и выполните одноуровневый поиск (атрибутSchema и объекты classSchema в контейнере схемы и расширенные права объектов в контейнере расширенных прав являются хорошими примерами). Если вы не знаете точно, где находится объект, или если вы хотите искать объект, к которому привязаны, и все дочерние объекты под ним в иерархии каталогов, выполните поиск поддерев. |
Использование индексов по возможности | Наконец, если вы ищете определенный класс объекта, фильтр запросов должен иметь выражения, которые оценивают свойства, определенные для этого класса. Чтобы найти объекты группы, включите выражение (objectCategory=group) в фильтр. Чтобы найти пользовательские объекты, укажите (&(objectClass=user)(objectCategory=person)), так как класс компьютера является производным от пользовательского класса, поэтому (objectClass=user) возвратит пользователей и компьютеров, а также потому, что объекты контакта и пользователя имеют объектCategory пользователя, поэтому (objectCategory=person) возвратит как пользователей, так и контакты. Дополнительные сведения см. в разделе "Класс объектов" и "Категория объектов" и "Индексированные атрибуты". |