在C# ASP.NET中显示Active Directory中的所有安全组及其成员,可以通过使用System.DirectoryServices命名空间中的类来实现。下面是一个示例代码:
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)
领取专属 10元无门槛券
手把手带您无忧上云