扩展此问题:Detect if running as Administrator with or without elevated privileges?
如果“以管理员身份运行”的帐户是本地管理员但是如果您使用域管理员帐户,则变量isProcessAdmin返回false,则投票最多的answer有效。相反,UAC在提升权限时接受域管理员作为有效帐户(在c:\ windows \中创建文件夹,以管理员身份运行等)...如何修改UACHelper.IsProcessElevated以便它也考虑到这种情况?
答案 0 :(得分:3)
您需要传递domain values to IsInRole:
// DOMAINNAME\Domain Admins RID: 0x200
bool isElevated = principal.IsInRole(WindowsBuiltInRole.Administrator)
|| principal.IsInRole(0x200);