gpt4 book ai didi

C# - 查找 Active Directory 用户的所有电子邮件地址

转载 作者:太空狗 更新时间:2023-10-29 17:28:53 24 4
gpt4 key购买 nike

我正在尝试获取与给定 AD 用户关联的所有电子邮件地址。

对于用户,我有域和登录名(例如 DOMAIN\UserName),AD 将电子邮件地址存储在:

  1. 邮件属性。
  2. proxyAddresses 属性中。

到目前为止,我不知道使用什么 C# API 连接到 AD,以及如何通过用户正确过滤以获取所有电子邮件地址。我正在使用 .NET 3.5。

谢谢。

最佳答案

这是一个可能的解决方案,使用 System.DirectoryServices 中的各种类命名空间。

string username = "username";
string domain = "domain";

List<string> emailAddresses = new List<string>();

PrincipalContext domainContext = new PrincipalContext(ContextType.Domain, domain);
UserPrincipal user = UserPrincipal.FindByIdentity(domainContext, username);

// Add the "mail" entry
emailAddresses.Add(user.EmailAddress);

// Add the "proxyaddresses" entries.
PropertyCollection properties = ((DirectoryEntry)user.GetUnderlyingObject()).Properties;
foreach (object property in properties["proxyaddresses"])
{
emailAddresses.Add(property.ToString());
}

关于C# - 查找 Active Directory 用户的所有电子邮件地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1609353/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com