Empfehlungssuche mit IDirectorySearch
Eine Empfehlung ist der Mechanismus, den ein Verzeichnisserver verwendet, um einen Client an einen anderen Server weiterzuleiten, wenn er nicht genügend Daten zu dem von einer Abfrage angeforderten Objekt enthält.
Bei einer Suche auf einer Ebene oder unterstruktur werden Empfehlungen nur für bekannte, sofort untergeordnete Domänen-, Schema- oder Konfigurationscontainer zurückgegeben. d. h. untergeordnete Domänen, die direkte abhängige Domänen sind. Weitere Informationen finden Sie unter Suchbereich.
In einem Verzeichnis sind nicht alle Daten auf einem einzelnen Server verfügbar, sondern über mehrere verschiedene Server im Netzwerk verteilt. Wenn die Server die Daten gemeinsam nutzen, die andere Server bereitstellen können, können sie Verweise an einen Client bereitstellen, wenn eine angeforderte Abfrage auf dem ursprünglichen Server nicht aufgelöst werden kann. Wenn ein Client z. B. Server A zur Abfrage eines Benutzerobjekts (U) auffordern, kann A vorschlagen, dass der Client die Suche auf Server B fortsetzen soll, wenn sich U nicht auf A befindet, sondern als auf B identifiziert wird. Der Kunde hat die Wahl, die Empfehlung zu verfolgen oder nicht. Empfehlungen befreien den Client davor, über die Funktionen der einzelnen Server zu verfügen, aber der Client muss den Typ der Verweise angeben, die ein Server ausführen soll.
Um die Empfehlungssuche zu aktivieren oder zu deaktivieren, legen Sie eine ADS_SEARCHPREF_CHASE_REFERRALS Suchoption mit einem ADSTYPE_INTEGER Wert fest, der einen der ADS_CHASE_REFERRALS_ENUM Enumerationswerte im ADS_SEARCHPREF_INFO Array enthält, das an die IDirectorySearch::SetSearchPreference-Methode übergeben wird.
Das folgende Codebeispiel zeigt, wie Sie Chase-Empfehlungen aktivieren.
ADS_SEARCHPREF_INFO SearchPref;
SearchPref.dwSearchPref = ADS_SEARCHPREF_CHASE_REFERRALS;
SearchPref.vValue.dwType = ADSTYPE_INTEGER;
SearchPref.vValue.Integer = ADS_CHASE_REFERRALS_ALWAYS;
Weitere Informationen zu Empfehlungen in Active Directory finden Sie unter Empfehlungen.