我想检查用户是否是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以及我设法识别的其他群组,但我获得的结果与我知道的管理员用户帐户相同。
任何我可能遗漏某些东西的想法?
答案 0 :(得分:0)
你可以尝试这样:
this.WhenActivated(
disposables =>
{
this.Bind(…)
.DisposeWith(disposables);
});