使用 C# 获取广告组的电子邮件
Get Email of an AD Group using C#
我正在尝试使用 C# 获取广告组的电子邮件,下面是我的代码。
using (PrincipalContext ctx = new PrincipalContext(ContextType.Domain, ADDomain))
{
using (GroupPrincipal grp = GroupPrincipal.FindByIdentity(ctx, IdentityType.Name, ADGroup))
{
var sams = from x in grp.GetMembers(true) select new { x.SamAccountName, };
var users = from sam in sams.Distinct()
let usr = UserPrincipal.FindByIdentity(ctx, IdentityType.SamAccountName, sam.SamAccountName)
select new { usr.SamAccountName, usr.DisplayName, usr.EmailAddress };
}
}
我可以知道如何将 usr.EmailAddress
分配给变量吗?
您正在创建一个匿名类型,这意味着属性将与您在 select
中分配的名称相同。假设您可以使用该列表中只有一个项目这个。
var result = users.SingleOrDefault()
if (result != null)
{
var emailAddress = result.EmailAddress
}
我正在尝试使用 C# 获取广告组的电子邮件,下面是我的代码。
using (PrincipalContext ctx = new PrincipalContext(ContextType.Domain, ADDomain))
{
using (GroupPrincipal grp = GroupPrincipal.FindByIdentity(ctx, IdentityType.Name, ADGroup))
{
var sams = from x in grp.GetMembers(true) select new { x.SamAccountName, };
var users = from sam in sams.Distinct()
let usr = UserPrincipal.FindByIdentity(ctx, IdentityType.SamAccountName, sam.SamAccountName)
select new { usr.SamAccountName, usr.DisplayName, usr.EmailAddress };
}
}
我可以知道如何将 usr.EmailAddress
分配给变量吗?
您正在创建一个匿名类型,这意味着属性将与您在 select
中分配的名称相同。假设您可以使用该列表中只有一个项目这个。
var result = users.SingleOrDefault()
if (result != null)
{
var emailAddress = result.EmailAddress
}