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

C# Active Directory DirectorySearcher仅查找我自己的用户

C# Active Directory DirectorySearcher是一个用于在Active Directory中进行用户搜索的类。它提供了一种在C#中与Active Directory进行交互的方式。

Active Directory是微软开发的一种目录服务,用于存储和组织网络中的用户、计算机和其他资源。它是一种分布式数据库,可以在整个网络中共享和访问。

DirectorySearcher是C#中用于搜索Active Directory的类。它允许我们指定搜索条件,并返回与条件匹配的用户对象。

在使用DirectorySearcher进行用户搜索时,可以通过设置SearchRoot属性来限定搜索的起始位置。如果希望仅查找自己的用户,可以将SearchRoot设置为当前用户所在的组织单位(OU)或容器。

以下是一个示例代码,演示如何使用C# Active Directory DirectorySearcher仅查找自己的用户:

代码语言:txt
复制
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提供了丰富的身份认证和授权功能,可以满足用户对于用户管理、权限管理和资源访问控制的需求。了解更多关于腾讯云身份认证服务的信息,请访问:腾讯云身份认证服务

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 领券