Active Directory组搜索C#

时间:2015-12-23 16:29:04

标签: c# active-directory

我找到一个域名下的群组,以查看用户输入的群组是否有效。我已经与少数团体进行了核实。它工作正常。但是有一个组在域中(我能够从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;
    }
}

1 个答案:

答案 0 :(得分:1)

你实际上已经得到了本质。但是你的代码并不惹人注目。请尝试以下,请告诉我。

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();
    }
}