Поиск рекомендаций с помощью IDirectorySearch
Реферал — это механизм, который сервер каталогов использует для направления клиента на другой сервер, если он не содержит достаточных данных об объекте, запрошенном запросом.
В одноуровневом или поддеревом поиске рефералы возвращаются только для известных, прямо подчиненных доменов, схем или контейнеров конфигурации; то есть дочерние домены, которые являются прямыми потомками. Дополнительные сведения см. в области поиска .
В каталоге не все данные доступны на одном сервере, а распределяются по нескольким разным серверам в сети. Если серверы предоставляют данные, которые могут предоставлять другие серверы, они могут предоставлять ссылки клиенту, когда запрошенный запрос не может быть разрешен на исходном сервере. Например, когда клиент запрашивает у сервера A информацию об объекте пользователя (U), A может предложить клиенту продолжить поиск на сервере B, если U не находится на A, но определено, что он находится на B. Клиент имеет право решить, следовать перенаправлению или нет. Рефералы освобождают клиента от необходимости обладать предыдущими знаниями о возможностях каждого сервера, но клиент должен указать тип рефералов, которые должен выполнять сервер.
Чтобы включить или отключить поиск ссылок, задайте параметр поиска ADS_SEARCHPREF_CHASE_REFERRALS со значением ADSTYPE_INTEGER, содержащим одно из значений перечисления ADS_CHASE_REFERRALS_ENUM в массиве ADS_SEARCHPREF_INFO, переданном методу IDirectorySearch::SetSearchPreference.
В следующем примере кода показано, как включить рекомендации по отслеживанию.
ADS_SEARCHPREF_INFO SearchPref;
SearchPref.dwSearchPref = ADS_SEARCHPREF_CHASE_REFERRALS;
SearchPref.vValue.dwType = ADSTYPE_INTEGER;
SearchPref.vValue.Integer = ADS_CHASE_REFERRALS_ALWAYS;
Дополнительные сведения о рефералах в Active Directory см. в .