从Microsoft帐户获取Windows用户电子邮件

时间:2019-08-26 16:14:05

标签: c# windows user-accounts

我正在像这样获得所有Windows用户:

PrincipalContext ctx = new PrincipalContext(ContextType.Machine, Environment.MachineName);
UserPrincipal ctxUserPrincipal= new UserPrincipal(ctx);
ctxUserPrincipal.Name = "*";
PrincipalSearcher principalSearcher = new PrincipalSearcher();
principalSearcher.QueryFilter = ctxUserPrincipal;
PrincipalSearchResult<Principal> principalSearchResult = principalSearcher.FindAll();

foreach (Principal principal in principalSearchResult)
{
    using (UserPrincipal userPrincipal = (UserPrincipal)principal)
    {
        // ...
    }
}

它可以正常工作,但是当使用Microsoft帐户创建Windows帐户时,userPrincipal.EmailAddress仍然为空。

当帐户的电子邮件不是“本地”而是与Microsoft关联时,我需要提取它们。我尝试了一些解决方案,但发现没有任何效果。

有什么建议吗?预先感谢

0 个答案:

没有答案