我正试图从AD获取电子邮件地址。我使用以下代码:
PrincipalContext ctx = new PrincipalContext(ContextType.Domain);
UserPrincipal qbeUser = new UserPrincipal(ctx);
qbeUser.SamAccountName = "XXX";
PrincipalSearcher srch = new PrincipalSearcher(qbeUser);
var found = srch.FindOne();
并且此代码返回:
正如您可以看到使用Local
窗口我访问和阅读电子邮件但我需要为~50个帐户执行此操作。
但我不知道如何通过代码访问该地方。
找到后我应该写什么
found.{something here}.EmailAdress
要让它发挥作用吗?
答案 0 :(得分:1)
为了实现这一目标,我需要使用此代码将found
转换为DirectoryEntry
:
var a = found.GetUnderlyingObject() as DirectoryEntry;
之后我能够从71个参数列表中访问邮件:
a.Properties["mail"].Value.ToString()