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

如何在C# ASP.NET中显示Active Directory中的所有安全组及其成员?

在C# ASP.NET中显示Active Directory中的所有安全组及其成员,可以通过使用System.DirectoryServices命名空间中的类来实现。下面是一个示例代码:

代码语言:txt
复制
using System;
using System.DirectoryServices;

namespace ActiveDirectoryExample
{
    class Program
    {
        static void Main(string[] args)
        {
            // 设置Active Directory的路径
            string path = "LDAP://yourdomain.com";

            try
            {
                // 创建DirectoryEntry对象并绑定到Active Directory
                DirectoryEntry entry = new DirectoryEntry(path);
                DirectorySearcher searcher = new DirectorySearcher(entry);

                // 设置搜索过滤器,仅搜索安全组
                searcher.Filter = "(objectCategory=group)";

                // 执行搜索并获取结果
                SearchResultCollection results = searcher.FindAll();

                // 遍历搜索结果并显示安全组及其成员
                foreach (SearchResult result in results)
                {
                    DirectoryEntry group = result.GetDirectoryEntry();
                    Console.WriteLine("安全组名称: " + group.Name);

                    // 获取安全组的成员
                    foreach (object member in (IEnumerable)group.Invoke("Members"))
                    {
                        DirectoryEntry memberEntry = new DirectoryEntry(member);
                        Console.WriteLine("成员: " + memberEntry.Name);
                    }

                    Console.WriteLine();
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("发生错误: " + ex.Message);
            }
        }
    }
}

这段代码使用System.DirectoryServices命名空间中的DirectoryEntry和DirectorySearcher类来连接和搜索Active Directory。首先,我们设置了Active Directory的路径,然后创建了一个DirectoryEntry对象并绑定到该路径。接下来,我们创建了一个DirectorySearcher对象,并设置了搜索过滤器,仅搜索安全组。然后,我们执行搜索并获取结果。最后,我们遍历搜索结果,并使用DirectoryEntry对象获取安全组的名称和成员。

请注意,这只是一个简单的示例代码,你可能需要根据你的实际情况进行适当的修改和调整。

推荐的腾讯云相关产品:腾讯云LDAP身份认证服务(https://cloud.tencent.com/product/ldap)

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

相关·内容

  • 领券