mam rozszerzenie poprzednią odpowiedź przez @laktak dostarczenie szczegółów co miał na myśli.
Jest pojemnik partycje w CN=Partitions,CN=Configuration
który zawiera wszystkie domeny, które daje cn
która jest nazwą NetBIOS domeny i właściwość nCName
który zawiera distinguishedName
prefiks użytkownik będzie miał, jeśli są one w tej dziedzinie.
więc zacząć od poszukiwania LDAP (objectClass=*)
w CN=Partitions,CN=Configuration
i przechowywania (cn
, nCName
) par każdego wyniku na mapie.
Następnie wyszukujesz ldap, używając (sAMAccountName=USERIDHERE)
i otrzymujesz od użytkownika distinguishedName
. Teraz przejdź przez pary (cn
, nCName
) i znajdź nCName
, który przedrostkuje distinguishedName
od użytkownika, a odpowiadająca cn
jest Twoją pożądaną nazwą domeny.
Powiązane: http://stackoverflow.com/questions/4249139/c-sharp-active-directory-get-domain-name-of-user –