Hej!Hur sätter jag sökbas i DirectorySearcher?
Jag håller på att gör ett tillägg till en c#-applikation som hämtar data från en katalog via LDAP. Koden använder sig av klassen System.DirectoryServices.DirectorySearcher och metoden .FindAll() för själva sökningen. Klassen instantieras med konstruktorn som tar DirectoryEntry Root som inparameter. Innan sökning sätter jag propertyn .Filter till en sträng som motsvarar mitt LDP-query. T.ex (&(objectclass=OrganizationalUnit)(ou=IT Applikation)) för att söka efter en enhet som heter ”IT Applikation” eller (&(objectClass=Person)(name=Göran)) för att söka efter alla personer som heter Göran.
Nu vill jag ställa en fråga som returnerar alla personer som tillhör en viss enhet i organisationen. Av en LDAP-konsult har jag fått reda på att detta skall göras i två steg med hjälp av två sökningar.
1. Sökbas: c=SE, Filter: (&(objectClass=OrganizationalUnit)(ou=IT Applikation))
2. Sökbas: Träff från fråga 1, Filter: (objectClass=organizationalPerson)
Den första sökningen fungerar men den andra ger mig huvudbry. Hur skall jag använda resultatet från fråga 1 som sökbas till fråga 2. Vad är en sökbas? Skall man på något sätt ta resultat-kollektionen från fråga 1 och tilldela någon property hos DierctorySearcher-objektet? Vilken property i så fall. Jag har letat efter en som heter SearchBase men har inte hittat någon.
Glad om någon på forumet kan hjälpa mig vidare.
/Göran