您的位置:首页 > 其它

取得AD中某个组织下所有用户的登录名

2009-05-23 14:42 295 查看
  string strLDAP = ConfigurationSettings.AppSettings["LDAP"];
string strUserName = ConfigurationSettings.AppSettings["userName"];
string strUserPwd = ConfigurationSettings.AppSettings["userPwd"];

DirectoryEntry entry = new DirectoryEntry(strLDAP, strUserName, strUserPwd);
DirectorySearcher mySearcher = new DirectorySearcher(entry);
mySearcher.PageSize = 99999; // 默认为1000,此处要注意,可能会造成取用户不全。
mySearcher.Filter = ("(objectClass=user)"); //user表示用户,group表示组

SearchResultCollection userCollection = mySearcher.FindAll();
string[] users = new string[userCollection.Count];

for (int i = 0; i < userCollection.Count; i++)
{
DirectoryEntry oneUser = new DirectoryEntry(userCollection[i].Path);
if (oneUser.Properties.Contains("userPrincipalName"))
{
users[i] = oneUser.Properties["userPrincipalName"].Value.ToString();
}
else
{
users[i] = "NULL";
}
}

return users;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: