gpt4 book ai didi

c# - 给定用户的 SID,我如何获得他们的 userPrincipalName?

转载 作者:太空狗 更新时间:2023-10-29 21:31:10 24 4
gpt4 key购买 nike

我有一个用户安全标识符列表,我需要获取一个 userPrincipalName 列表...有没有什么方法可以在不加载用户 DirectoryEntry 并拉入 userPrincipalName 属性的情况下获取它?

我需要最有效的方法,因为这已经做了很多

最佳答案

如果您使用的是 .NET 3.5,请查看这篇优秀的 MSDN 文章 Managing Directory Security Principals in the .NET Framework 3.5 .

它显示了 .NET 3.5 的 System.DirectoryServices.AccountManagement 命名空间的新增强搜索功能。

一个不错的功能是 FindByIdentity 方法,它允许您根据身份查找用户(或组)——无论是用户主体名称、专有名称、GUID 还是 SID - 它会正常工作:

UserPrincipal user = 
UserPrincipal.FindByIdentity(principalContext,
IdentityType.Sid, (value));

您需要确保以正确的格式提供 SID - 有关详细信息,请参阅 MSDN 文档。

获得用户主体对象后,只需获取其用户主体名称即可:

if(user != null)
{
string upn = user.UserPrincipalName;
}

本文的示例代码甚至还有两个额外的辅助方法 FindByIdentityGuidFindByIdentitySid 来实现您正在寻找的东西!

去看看并使用它。

关于c# - 给定用户的 SID,我如何获得他们的 userPrincipalName?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2503011/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com