我如何才能找到与GUID(的objectGUID)参数在Active Directory用户(How

2019-09-20 01:25发布

在我的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 =会话[“用户名”]。的toString()

塔拉索夫

Answer 1:

你并不需要搜索,如果你知道你的GUID可以直接绑定到对象,如

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

(与你的实际的objectGUID替换)。

检查这个MSDN项: 使用的objectGUID绑定到一个对象



文章来源: How I can find a User with the GUID(objectGUID) Parameter in Active Directory