.NET獲取windows域中使用者所有屬性
阿新 • • 發佈:2019-02-10
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