搜索活动目录中与电子邮件地址相关联的所有用户名
本文关键字:关联 用户 电子邮件地址 活动 搜索 | 更新日期: 2023-09-27 17:50:23
我有一个基于电子邮件地址在Active Directory中搜索用户名的方法。在某些情况下,给定的电子邮件地址可能有多个用户名,我正在尝试捕获这些用户名。我已经重写了我的方法,但似乎不能得到语法很正确。我认为问题出在这一行。
foreach (Object myObject in result.Properties[property])
谢谢,杰森
private String FindNameByEmail(string emailAddress)
{
DirectoryEntry entry = GetDirectoryEntry();
emailAddress = txtEmailID.Text;
DirectorySearcher search = new DirectorySearcher(entry);
search.Filter = "(&(objectCategory=person)(sAMAccountName=*)(mail=" + emailAddress + "))";
string[] properties = new string[] { "SAMAccountName" };
foreach (String property in properties)
search.PropertiesToLoad.Add(property);
SearchResultCollection result = search.FindAll();
if (result != null)
{
foreach (String property in properties)
foreach (Object myObject in result.Properties[property])
lblUserName.Text = myObject.ToString();
return "User Found";
}
else
{
lblStatus.Text = "user does not exist";
return "User Does Not Exist";
}
}
EDIT:将输出更改为字符串列表
List<string> usernames = new List<string>();
if (result != null)
{
foreach (SearchResult sr in result)
{
usernames.Add((string)sr.Properties["SAMAccountName"][0]);
}
}
listBox1.DataSource = usernames; //Where listbox is declared in your markup
listBox1.DataBind();
将if (result != null)逻辑替换为myne