Active Directory group search C#

本文关键字:search group Directory Active | 更新日期: 2023-09-27 18:27:50

我正在查找一个域下的组,以查看用户输入的组是否有效。我已经和几个小组核实过了。它运行良好。但有一个组在域中(我可以从AD中看到它),但仍然不符合我的代码条件。

如果我遗漏了什么,你能复习一下吗?

PrincipalContext ctx = new PrincipalContext(ContextType.Domain, "mydomain");
GroupPrincipal qbeGroup = new GroupPrincipal(ctx);
PrincipalSearcher srch = new PrincipalSearcher(qbeGroup);
IsValidGroup = 0;
foreach (var found in srch.FindAll())
{
    if (found.ToString() == TxtAccName.Text)
    {
        IsValidGroup = 1;
        break;
    }
}

Active Directory group search C#

您实际上已经掌握了精髓。但是你的代码不可行。试试下面,让我知道。

bool groupExists;
using( var ctx = new PrincipalContext(ContextType.Domain, "mydomain") )
{
    var filter = new GroupPrincipal(ctx) { Name = TxtAccName.Text }
    using ( var searcher = new PrincipalSearcher(filter) )
    {
        groupExists = searcher.FindAll().Any();
    }
}