AD域技术整理 C#
AD域路径为:LDAP://ad.XXXX.com.tw
AD域的类命名空间为:System.DirectoryServices
DirectoryEntry entry;
entry = new DirectoryEntry(path, AD域账户, AD域密码);
DirectorySearcher searcher = new DirectorySearcher(entry);
searcher.Filter = "(&(objectCategory=person)(objectClass=user)(!sAMAccountName=Exchang*))"; //获取AD域下 Exchange除外的所有用户信息
searcher.PageSize = 1000;
searcher.PropertiesToLoad.Clear();
SearchResultCollection src = searcher.FindAll();
int listCount = src.Count;
List<ADUsersEntity> list = new List<ADUsersEntity>(listCount);
if(listCount >0)
{
foreach (SearchResult rs in src)
{
if (rs != null)
{
string n = (rs.GetDirectoryEntry().Properties["distinguishedName"].Value == null) ? string.Empty : rs.GetDirectoryEntry().Properties["distinguishedName"].Value.ToString();
//AD域账户
string ADid= (rs.GetDirectoryEntry().Properties["sAMAccountName"].Value == null) ? string.Empty : rs.GetDirectoryEntry().Properties["sAMAccountName"].Value.ToString();
//英文名称
string ENName = (rs.GetDirectoryEntry().Properties["name"].Value == null) ? string.Empty : rs.GetDirectoryEntry().Properties["name"].Value.ToString();
string DisplayName = (rs.GetDirectoryEntry().Properties["displayName"].Value == null) ? string.Empty : rs.GetDirectoryEntry().Properties["displayName"].Value.ToString();
//用户中文名
string describe = (rs.GetDirectoryEntry().Properties["description"].Value == null) ? string.Empty : rs.GetDirectoryEntry().Properties["description"].Value.ToString();
string title = (rs.GetDirectoryEntry().Properties["title"].Value == null) ? string.Empty : rs.GetDirectoryEntry().Properties["title"].Value.ToString();
//部门名称
string depmentName = (rs.GetDirectoryEntry().Properties["Department"].Value == null) ? string.Empty : rs.GetDirectoryEntry().Properties["Department"].Value.ToString();
}
}
}