.NET获取windows域中用户所有属性

来源:互联网 发布:北京清退 知乎 编辑:程序博客网 时间:2024/05/17 01:06
        DirectoryEntry de = new DirectoryEntry("LDAP://" + DomainName);        de.Username = "liuyan";        de.Password = "Abcd1234!";         DirectorySearcher ds = new DirectorySearcher(de);        ds.Filter = ("(SAMAccountName=liuyan)");   //筛选条件  (登录名为blogtest,不要用CN=,因为CN值有时和登录名不一样,所以有的不能登录)        #region 获取根据筛选条件获取所有属性和属性值        StringBuilder sb = new StringBuilder();        //获取根据筛选条件获取所有属性和属性值        foreach (SearchResult sr in ds.FindAll())   //用户名=blogtest只有一个,所以FindAll和FindOne就一样了        {            foreach (string myKey in sr.Properties.PropertyNames)   //根据循环查找sr的所有属性            {                sb.AppendLine(myKey + "=");                foreach (Object myCollection in sr.Properties[myKey])   //获取sr属性的值                {                    sb.Append(myCollection + "<br />");                }            }            //sr.GetDirectoryEntry().Parent.Name;  //是找指定值的树结构父级名称   树结构根据CSDN下载的C/S结构对照         }        return sb.ToString();        #endregion

0 0