Search code examples
c#asp.netactive-directoryldapdirectoryentry

How I create a LDAP Filter with City ("l") Parameter


I wrote a Program that get Data from the Active Directory and I need a LDAP filter that filter the Data to l (city) Parameter.

My Code:

public void SearchByCity(string city)
        {
                                                         //What I must do :(
            DirectoryEntry Entry = new DirectoryEntry("LDAP://<l= + city + >");
            string filter = "(&(objectClass=user)(objectCategory=person)(cn=*))";
            DirectorySearcher Searcher = new DirectorySearcher(Entry, filter);

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

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

tarasov


Solution

  • The Solition:

    public void SearchByPlace(string city)
            {
                DirectoryEntry Entry = new DirectoryEntry("LDAP://" + Properties.Settings.Default.Domain);
                string filter = "(&(objectClass=user)(objectCategory=person)(l=" + city + ")(cn=*))";
                DirectorySearcher Searcher = new DirectorySearcher(Entry, filter);
    
                var q = from s in Searcher.FindAll().OfType<SearchResult>()
                        select new
                        {
                            Benutzer = GetProperty(s, "sAMAccountName"),
                            eMail = GetProperty(s, "mail"),
                            Vorname = GetProperty(s, "givenName"),
                            Nachname = GetProperty(s, "sn"),
                            Telefon = GetProperty(s, "telephoneNumber"),
                            UserID = s.GetDirectoryEntry().Guid
                        };
    
                this.myListView.DataSource = q;
                this.myListView.DataBind();
            }