C# Active Directory DirectorySearcher是一个用于在Active Directory中进行用户搜索的类。它提供了一种在C#中与Active Directory进行交互的方式。
Active Directory是微软开发的一种目录服务,用于存储和组织网络中的用户、计算机和其他资源。它是一种分布式数据库,可以在整个网络中共享和访问。
DirectorySearcher是C#中用于搜索Active Directory的类。它允许我们指定搜索条件,并返回与条件匹配的用户对象。
在使用DirectorySearcher进行用户搜索时,可以通过设置SearchRoot属性来限定搜索的起始位置。如果希望仅查找自己的用户,可以将SearchRoot设置为当前用户所在的组织单位(OU)或容器。
以下是一个示例代码,演示如何使用C# Active Directory DirectorySearcher仅查找自己的用户:
using System;
using System.DirectoryServices;
class Program
{
static void Main()
{
// 创建DirectoryEntry对象,指定要搜索的起始位置
DirectoryEntry entry = new DirectoryEntry("LDAP://OU=Users,DC=example,DC=com");
// 创建DirectorySearcher对象,设置搜索条件
DirectorySearcher searcher = new DirectorySearcher(entry);
searcher.Filter = $"(&(objectClass=user)(sAMAccountName={Environment.UserName}))";
// 执行搜索并获取结果
SearchResult result = searcher.FindOne();
if (result != null)
{
// 获取用户对象的属性值
string username = result.Properties["sAMAccountName"][0].ToString();
string displayName = result.Properties["displayName"][0].ToString();
string email = result.Properties["mail"][0].ToString();
Console.WriteLine($"用户名: {username}");
Console.WriteLine($"显示名称: {displayName}");
Console.WriteLine($"电子邮件: {email}");
}
else
{
Console.WriteLine("未找到用户");
}
}
}
上述代码中,我们首先创建了一个DirectoryEntry对象,指定了要搜索的起始位置。然后创建了一个DirectorySearcher对象,并设置了搜索条件,使用了当前用户的sAMAccountName属性作为过滤条件。最后执行搜索并获取结果,如果找到了匹配的用户对象,就可以获取其属性值并进行相应的处理。
需要注意的是,上述示例中的LDAP路径和属性名称是示意性的,实际使用时需要根据自己的Active Directory环境进行相应的调整。
推荐的腾讯云相关产品:腾讯云身份认证服务(CAM)。CAM是腾讯云提供的一种身份和访问管理服务,可以帮助用户管理和控制其在腾讯云上的资源访问权限。CAM提供了丰富的身份认证和授权功能,可以满足用户对于用户管理、权限管理和资源访问控制的需求。了解更多关于腾讯云身份认证服务的信息,请访问:腾讯云身份认证服务。
领取专属 10元无门槛券
手把手带您无忧上云