Как выполнить запрос LDAP, который находит полное имя компьютера, передавая отличительное имя - PullRequest
0 голосов
/ 16 апреля 2020

Я новичок в 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), чтобы вернуть полное имя компьютера, связанного с пользователем. Может кто-нибудь помочь?

...