Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How I can find a User with the GUID(objectGUID) Parameter in Active Directory

In my ASP.NET Application I get Informations from Active Directory. I must get Informations about a User with the GUID Informations (example: a28a6a34dsfdsf57d9e54f945a241) but I don't know how I can use the filter right for this search :/

for example if I search to a User Lastname:

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();

now I need a filter with the GUID that I can find the one and only user in AD. The GUID for this Search I have in a string UserID = Session["UserID"].toString()

tarasov

like image 969
Tarasov Avatar asked Jul 23 '12 13:07

Tarasov


1 Answers

You don't need to search, you can bind directly to the object if you know the GUID, e.g.

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

(replace with your actual ObjectGUID).

Check this MSDN entry: Using ObjectGUID to Bind to an Object

like image 144
Paolo Tedesco Avatar answered Sep 28 '22 12:09

Paolo Tedesco