Как найти пользователя с параметром GUID(objectGUID) в Active Directory

в моем ASP.NET приложение я получаю информацию из Active Directory. Я должен получить информацию о пользователе с информацией GUID (пример: a28a6a34dsfdsf57d9e54f945a241), но я не знаю, как я могу использовать фильтр прямо для этого поиска :/

например, если я ищу имя пользователя:

DirectoryEntry Entry = new DirectoryEntry("LDAP://" + "Domain");

            string filter = "(&(objectClass=user)(objectCategory=person)(cn=" + txtBenutzer.Text + "*))";

            DirectorySearcher Searcher = new DirectorySearcher(Entry, filter);

            var q = from s in Searcher.FindAll().OfType<SearchResult>()
                    select new
                    {
                        //GetProperty(s, "objectGUID"),
                        Benutzer = GetProperty(s, "sAMAccountName"),
                        eMail = GetProperty(s, "mail"),
                        Vorname = GetProperty(s, "givenName"),
                        Nachname = GetProperty(s, "sn"),
                        Telefon = GetProperty(s, "telephoneNumber"),
                        UserID = s.GetDirectoryEntry().NativeGuid

                    };

            this.myListView.DataSource = q;
            this.myListView.DataBind();

теперь мне нужен фильтр с GUID, который я могу найти одного и единственного пользователя в AD. Идентификатор GUID для этого поиска у меня есть в строке UserID = Сессия ["UserID"].toString ()

Тарасова

1 ответов


вам не нужно искать, вы можете привязаться непосредственно к объекту, если вы знаете GUID, например

var user = new DirectoryEntry("LDAP://<GUID=119d0d80-699d-4e81-8e4e-5477e22ac1b3>");

(замените фактическим ObjectGUID).

проверьте эту запись MSDN:использование ObjectGUID для привязки к объекту