我试图通过esb.ResolveNames(username)
函数查找用户的电子邮件ID,但对于某些用户名,它会返回多个条目。有没有办法将其限制为完全匹配?
例如,如果我想找到 User1 ,我得到的结果是[ User1 , User12 , User123 < /强>]。我只需要 User1
答案 0 :(得分:0)
很难说肯定没有给出所有细节。您可以尝试的一个技巧是在用户名前面使用=
,这就像=User1
。如果它对应于他们的电子邮件地址的第一部分,那应该有用。
答案 1 :(得分:0)
我有这个问题。我最终使用System.DirectoryServices.AccountManagement
来获取每个AD帐户的电子邮件:
PrincipalContext ctx = new PrincipalContext(ContextType.Domain);
UserPrincipal user = UserPrincipal.FindByIdentity(ctx, IdentityType.SamAccountName, adName);
return user.EmailAddress;