【发布时间】:2013-11-24 09:43:51
【问题描述】:
我是 asp.net 的新手,我有新任务要从 Active Directory 中检索所有用户。当我尝试从 Active Directory 中检索所有用户时,我只有一个用户。
private void btngetuser_Click(object sender, EventArgs e)
{
DirectorySearcher searcher = new DirectorySearcher();
searcher.SearchScope = SearchScope.Subtree;
searcher.Filter = string.Format(CultureInfo.InvariantCulture, "(sAMAccountName={0})", Environment.UserName);
//SearchResult findUser = searcher.FindOne();
foreach (SearchResult findUser in searcher.FindAll())
{
if (findUser != null)
{
DirectoryEntry user = findUser.GetDirectoryEntry();
string userName = user.Properties["displayName"].Value.ToString();
string Email = user.Properties["mail"].Value.ToString();
string Mobile = user.Properties["Mobile"].Value.ToString();
string Login = user.Properties["sAMAccountName"].Value.ToString();
string[] rt = new string[] { Login, userName, Email, Mobile };
dataGridView1.Rows.Add(rt);
}
}
}
【问题讨论】:
-
您可能只有一个用户,因为
SamAccountName在用户中必须是唯一的 - 因此,如果您搜索一个特定的SamAccountName,您将永远不会得到超过一个 ....
标签: c# asp.net active-directory