Active Directory Admin组

时间:2018-03-30 13:29:22

标签: c# .net

我想检查用户是否是Active Directory中的系统管理员。

我使用以下代码:

private void button1_Click(object sender, EventArgs e)
{
    var pc = new PrincipalContext(ContextType.Domain);
    var group = GroupPrincipal.FindByIdentity(pc, "Administrators");

    var existsInGroup = group
      .GetMembers(true)
      .Where(p => p.UserPrincipalName == txtUser.Text)
      .Any();

    MessageBox.Show(existsInGroup.ToString());
}

由于某种原因,它总是返回false。

我已尝试将该群组更改为sadmin以及我设法识别的其他群组,但我获得的结果与我知道的管理员用户帐户相同。

任何我可能遗漏某些东西的想法?

1 个答案:

答案 0 :(得分:0)

你可以尝试这样:

this.WhenActivated(
    disposables =>
    {
        this.Bind(…)
            .DisposeWith(disposables);
    });