首页 > 后端开发 > C++ > 如何使用 C# 从 Active Directory 检索用户数据(用户名、名字、姓氏)?

如何使用 C# 从 Active Directory 检索用户数据(用户名、名字、姓氏)?

Linda Hamilton
发布: 2025-01-06 13:11:40
原创
667 人浏览过

How Can I Retrieve User Data (Username, First Name, Last Name) from Active Directory Using C#?

从 Active Directory 检索用户数据

简介:
从 Active Directory (AD) 访问用户信息是许多 IT 环境中的一项基本任务。本指南提供了用于获取用户列表的全面解决方案,包括用户名、名字和姓氏。

Active Directory 背景:
Active Directory 是一个 LDAP (轻量级目录访问协议)按层次结构组织对象的服务器,类似于文件系统。每个对象都有一个可在目录中唯一标识它的专有名称 (DN)。

使用 LDAP 查询 Active Directory:
在 .NET 中查询 AD 有多种方法。一种方便的选择是使用 System.DirectoryServices.AccountManagement 命名空间中的 PrimarySearcher。

示例查询:
以下代码演示了检索必要用户的查询信息:

using System.DirectoryServices.AccountManagement;

PrincipalContext context = new PrincipalContext(ContextType.Domain, "yourdomain.com");
PrincipalSearcher 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();
}
登录后复制

说明:

  • 专有名称: AD 对象的专有名称可以通过以下方式获取de.Properties["distinguishedName"].Value.
  • 名字:给定名称属性提供用户的名字。
  • 姓氏: sn 属性代表用户的姓氏。
  • 用户登录名称: AD 有两个登录名:samAccountName 和 userPrincipalName。 samAccountName 是 Windows 2000 之前的用户登录名,而 userPrincipalName 通常在 Windows 2000 之后使用。

以上是如何使用 C# 从 Active Directory 检索用户数据(用户名、名字、姓氏)?的详细内容。更多信息请关注PHP中文网其他相关文章!

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