Click here to monitor SSC
SQLServerCentral is supported by Red Gate Software Ltd.
Log in  ::  Register  ::  Not logged in

Get your AD information with .NET

.NET has a useful class called system.DirectoryServices to query LDAP such as Active Directory

Here is some example code to retrieve all the AD information for a user called FullName,


On a web site, your Active Directory Name can be found using


FullName = HttpContext.Current.Request.ServerVariables["AUTH_USER"];


(If you are not using AD then this will return a blank)


In this procedure we first write the results to a data table. we can then sort the results before appending them to a stringbuilder which is then return to the web page.


using System.DirectoryServices;


       public static String GetUserInfo(string Fullname)


            DataTable UserInfo = new DataTable();

            UserInfo.Columns.Add("Name", typeof(string));

            UserInfo.Columns.Add("Info", typeof(string));


            System.Text.StringBuilder sb = new System.Text.StringBuilder();


            //extract the user name from DomainName

            string username = Fullname.Substring(Fullname.IndexOf("\\") + 1);


            //create a directorySearcher

            DirectorySearcher ds = new DirectorySearcher(new DirectoryEntry("LDAP://"));


            //filter the search to just the user name

            ds.Filter = "samaccountname=" + username;

            ds.PageSize = 1000;

            //use the findone function rather than the findall to return the user's data

            SearchResult sr = ds.FindOne();


            //loop through the search results properties inserting in to a data table

            foreach (string var in sr.Properties.PropertyNames)


                UserInfo.Rows.Add(var, sr.Properties[var][0].ToString());


            DataView dv = new DataView(UserInfo);

            dv.Sort = "Name";


            //write out the proprties in name order to the stringbuilder

            foreach (DataRowView drv in dv)


                sb.AppendLine(string.Format("{0} : {1}", drv[0], drv[1]));




            return sb.ToString();




No comments.

Leave a Comment

Please register or log in to leave a comment.