2

扩展这个问题:检测是否以管理员身份运行有或没有提升的权限?

如果“以管理员身份运行”的帐户是本地管理员,则投票最多的答案有效,但如果您使用域管理员帐户,则变量 isProcessAdmin 返回 false。相比之下,UAC 在提升权限时接受域管理员作为有效帐户(在 c:\windows\ 中创建文件夹,以管理员身份运行等)...我如何修改 UACHelper.IsProcessElevated 所以它也考虑到这种情况?

4

1 回答 1

4

您需要将域值传递给 IsInRole

// DOMAINNAME\Domain Admins RID: 0x200
bool isElevated = principal.IsInRole(WindowsBuiltInRole.Administrator)
               || principal.IsInRole(0x200);
于 2012-12-18T14:38:31.293 回答