阅读AD的电子邮件

时间:2014-04-14 07:51:02

标签: c# active-directory traversal

我正试图从AD获取电子邮件地址。我使用以下代码:

PrincipalContext ctx = new PrincipalContext(ContextType.Domain);
UserPrincipal qbeUser = new UserPrincipal(ctx);
qbeUser.SamAccountName = "XXX";
PrincipalSearcher srch = new PrincipalSearcher(qbeUser);
var found = srch.FindOne();

并且此代码返回: enter image description here

正如您可以看到使用Local窗口我访问和阅读电子邮件但我需要为~50个帐户执行此操作。 但我不知道如何通过代码访问该地方。 找到后我应该写什么

found.{something here}.EmailAdress

要让它发挥作用吗?

1 个答案:

答案 0 :(得分:1)

为了实现这一目标,我需要使用此代码将found转换为DirectoryEntry

var a = found.GetUnderlyingObject() as DirectoryEntry;

之后我能够从71个参数列表中访问邮件:

a.Properties["mail"].Value.ToString()