检测应用程序是否在系统帐户下运行?

时间:2012-11-08 19:17:40

标签: c# .net account

我可能会使用Environment.UserName并将其与“系统”进行比较以查看它是否匹配,但这看起来很糟糕,而且我不确定它在非英语环境中是如何工作的。关于如何检查当前可执行文件是否作为系统帐户运行的任何其他建议?

1 个答案:

答案 0 :(得分:8)

这应该这样做:

bool isSystem;
using (var identity = System.Security.Principal.WindowsIdentity.GetCurrent())
{
    isSystem = identity.IsSystem;
}

永远不要比较帐户名称。将用户名与“系统”进行比较确实会在本地化操作系统上失败。