首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在C#中使用AD组名称查找Active Directory组电子邮件地址

如何在C#中使用AD组名称查找Active Directory组电子邮件地址
EN

Stack Overflow用户
提问于 2021-09-22 04:20:13
回答 1查看 105关注 0票数 1

我有一个名为Stack Over Flow IT的Active Directory组。需要找到像stackoverflowit@stackoverflow.com这样的AD组电子邮件。无需查找AD用户列表。

如何查找AD组电子邮件地址?

或者如何使用AD组电子邮件地址查找AD组名称?

代码语言:javascript
复制
// set up domain context
PrincipalContext ctx = new PrincipalContext(ContextType.Domain);

// find the group in question
GroupPrincipal group = GroupPrincipal.FindByIdentity(ctx, "YourGroupNameHere");

我无法使用上面的group实例代码找到Active Directory组电子邮件地址。

EN

回答 1

Stack Overflow用户

发布于 2021-09-22 05:15:23

群发邮件

您可以执行以下操作:

代码语言:javascript
复制
PropertyValueCollection email = ((DirectoryEntry) group.GetUnderlyingObject()).Properties["mail"];

如果您有可用的RSAT,您可以使用以下命令验证您的代码(在powershell中):

代码语言:javascript
复制
get-adgroup -Identity "Stack Over Flow IT" -properties mail | select name,mail | sort mail

通过邮件查找组

下面是实现完整性的相反方法:

代码语言:javascript
复制
// replace stuff inside [] to match your environment
DirectoryEntry root = new DirectoryEntry("LDAP://dc=[YOUR DC]", [username], [password], AuthenticationTypes.Secure);

DirectorySearcher groupSearcher = new DirectorySearcher(root);
groupSearcher.Filter = "(mail=stackoverflowit@stackoverflow.com)";
groupSearcher.PropertiesToLoad.Add("name");

foreach (SearchResult groupSr in groupSearcher.FindAll())
{
    ResultPropertyValueCollection groupName = groupSr.Properties["name"];
    // do something with finding
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69278143

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档