Я новичок в LDAP (также новичок в использовании DirectoryEntry
/ DirectorySearcher
классов в C#), и я не уверен, правильно ли я понимаю структуру / иерархию Active Directory. У меня есть некоторый код, который ищет определенного c пользователя, как показано ниже:
static private void GetSpecificUser(string userName)
{
DirectorySearcher ds = null;
DirectoryEntry de = new DirectoryEntry(GetCurrentDomainPath());
SearchResult sr;
// Adding properties to load
ds = BuildUserSearcher(de);
ds.Filter = "(&(objectClass=User)(objectClass=person)(userPrincipalName=" + userName + "*))";
sr = ds.FindOne();
if(sr != null)
{
Console.WriteLine(GetPropertyValue(sr, "name"));
Console.WriteLine(GetPropertyValue(sr, "mail"));
Console.WriteLine(GetPropertyValue(sr, "givenname"));
Console.WriteLine(GetPropertyValue(sr, "sn"));
Console.WriteLine(GetPropertyValue(sr, "userPrincipalName"));
Console.WriteLine(GetPropertyValue(sr, "distinguishedName"));
}
Console.ReadLine();
}
Это дает информацию в порядке. Однако я хочу использовать ту же передаваемую информацию (а именно userPrincipalName
), чтобы вернуть полное имя компьютера, связанного с пользователем. Может кто-нибудь помочь?