首页 > 后端开发 > C++ > 如何使用PrincipalSearcher 从Active Directory 检索用户信息?

如何使用PrincipalSearcher 从Active Directory 检索用户信息?

Linda Hamilton
发布: 2025-01-06 13:30:41
原创
847 人浏览过

How Can I Retrieve User Information from Active Directory Using PrincipalSearcher?

使用 PrimarySearcher 从 Active Directory 检索用户信息

如果您是 Active Directory 新手,了解其分层数据结构和LDAP 查询功能。要检索用户列表,System.DirectoryServices.AccountManagement 中的PrincipalSearcher 类提供了一种直观的方法。

使用 (var context = new PrimaryContext(ContextType.Domain, "yourdomain.com"))
建立到指定域的连接。

using (var searcher = new PrimarySearcher(new UserPrincipal(context)))
创建用于查找用户主体的搜索器对象。

在 FindAll() 循环中,获取与每个结果关联的 DirectoryEntry 对象来访问属性,例如:

  • givenName:名字
  • sn:姓氏Name
  • samAccountName:Windows 2000 之前的用户登录名
  • userPrincipalName:Windows 2000 之后使用的登录名

下面的代码片段提供了此方法的示例:

using (var context = new PrincipalContext(ContextType.Domain, "yourdomain.com"))
{
    using (var searcher = new PrincipalSearcher(new UserPrincipal(context)))
    {
        foreach (var result in searcher.FindAll())
        {
            DirectoryEntry de = result.GetUnderlyingObject() as DirectoryEntry;
            Console.WriteLine("First Name: " + de.Properties["givenName"].Value);
            Console.WriteLine("Last Name : " + de.Properties["sn"].Value);
            Console.WriteLine("SAM account name   : " + de.Properties["samAccountName"].Value);
            Console.WriteLine("User principal name: " + de.Properties["userPrincipalName"].Value);
            Console.WriteLine();
        }
    }
}
Console.ReadLine();
登录后复制

该解决方案有效地从以下位置检索所需的用户信息活动目录。

以上是如何使用PrincipalSearcher 从Active Directory 检索用户信息?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板