急!!!如何取域用户信息,比如邮件地址,谢谢!

huangkc 2005-06-23 11:32:06
域服务器是2003
引用了DirectoryServices
创建DirectoryEntry,只能取到用户名密码
我现在需要取得域用户的邮件地址电话等属性值

请哪位高人能够给点指示,
若有示例代码最好(因为急用,所以没来得及仔细研究这个类),谢谢!


...全文
406 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
reformer 2005-06-23
  • 打赏
  • 举报
回复
这是我从AD里面读取用户邮件信息的一个方法。你参考一下
/// <summary>
/// 获取域用户的电子邮件信息
/// </summary>
/// <param name="pid">用户ID组</param>
/// <returns>返回字符串</returns>
private string GetPMail(string[] pid)
{
string mail="";
string domain = ChkDomainUser.GetEnvironment("USERDNSDOMAIN");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~这个你要改一下
DirectoryEntry entry = new DirectoryEntry("LDAP://" + domain);
DirectorySearcher mySearcher = new DirectorySearcher(entry);
for(int i=0;i<pid.Length;i++)
{
if(pid[i].ToString().Trim()!="")
{
mySearcher.Filter = ("(&(objectClass=user)(displayname=" + pid[i].ToString() +"))");
SearchResult resEnt = mySearcher.FindOne();

//如果返回值不是null(存在该用户)
if(resEnt!=null)
{
if(resEnt.GetDirectoryEntry().Properties["displayname"].Value.ToString()==pid[i].ToString())
{

mail = mail + resEnt.GetDirectoryEntry().Properties["mail"].Value.ToString() + ";";
}
}
}
}
pid = null;
mySearcher = null;
entry.Close();
return mail;
}
huangkc 2005-06-23
  • 打赏
  • 举报
回复
谢谢!

110,545

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧