【发布时间】:2018-04-19 15:56:17
【问题描述】:
我希望使用用 C# 编写的应用程序定期更新数据库中的用户表,其中包含 Active Directory 上所有用户的姓名和电子邮件地址。我使用 DirectorySearcher 检索用户。
DirectorySearcher dirSearch = new DirectorySearcher();
dirSearch.Filter = "(&(objectClass=user)(objectCategory=person))";
dirSearch.PropertiesToLoad.Add("mail");
SearchResultCollection resultCol = dirSearch.FindAll();
这确实会返回系统上的用户列表,但只返回一个用户的电子邮件地址。
我承认我在 Active Directory 和 IT 管理员等方面的经验有限。是否正在寻找正确的位置来检索此类信息?
非常感谢您的帮助!
【问题讨论】:
-
这可能是一个愚蠢的问题,但 Active Directory 是否链接到 Exchange?所以如果我和我的同事有一个在 Outlook 中运行的电子邮件帐户,是否应该在 AD 中不填充 mail 属性?
-
是的,如果您使用的是 Exchange,则应为所有拥有邮箱的帐户填充
mail属性。mail属性对应于 AD 用户和计算机中“常规”选项卡上的“电子邮件”字段。
标签: c# active-directory ldap exchange-server