首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用c#获取active directory用户的不可变ID

使用C#获取Active Directory用户的不可变ID可以通过以下步骤实现:

  1. 引用必要的命名空间:
代码语言:txt
复制
using System.DirectoryServices;
using System.DirectoryServices.AccountManagement;
  1. 创建一个PrincipalContext对象,用于连接到Active Directory:
代码语言:txt
复制
using (PrincipalContext context = new PrincipalContext(ContextType.Domain))
{
    // 在这里执行操作
}
  1. 使用UserPrincipal类来获取用户对象:
代码语言:txt
复制
using (PrincipalContext context = new PrincipalContext(ContextType.Domain))
{
    UserPrincipal user = UserPrincipal.FindByIdentity(context, IdentityType.SamAccountName, "用户名");
    if (user != null)
    {
        // 在这里执行操作
    }
}
  1. 获取用户的不可变ID:
代码语言:txt
复制
using (PrincipalContext context = new PrincipalContext(ContextType.Domain))
{
    UserPrincipal user = UserPrincipal.FindByIdentity(context, IdentityType.SamAccountName, "用户名");
    if (user != null)
    {
        string immutableId = user.GetUnderlyingObject().Properties["msDS-ImmutableId"].Value.ToString();
        // 在这里执行操作
    }
}

在上述代码中,我们使用UserPrincipal.FindByIdentity方法根据用户名查找用户对象。然后,通过GetUnderlyingObject方法获取用户的底层对象,并使用Properties属性获取属性集合。不可变ID在Active Directory中的属性名为"msDS-ImmutableId",我们可以通过该属性获取用户的不可变ID。

需要注意的是,上述代码中的ContextType.Domain表示连接到默认的域,如果需要连接到特定的域,请提供域的名称或IP地址。

推荐的腾讯云相关产品:腾讯云身份认证服务(CAM)

  • 产品介绍链接地址:https://cloud.tencent.com/product/cam
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券