我正在尝试找出如何检测用户是否在 Windows XP 下以管理员权限运行。多亏了 whoami 命令,这在 Vista/Win7 中很容易做到。下面是一个 Ruby 代码片段,说明如何在 Vista 下执行此操作:
请注意,以下链接现在包含了 muteW 建议的解决方案
问题是,whoami 没有随 Windows XP 一起提供,所以上面链接的方法在 WinXP 上总是返回 false,即使我们以管理员身份运行也是如此。
那么,有没有人知道一种方法来检测我们是否在 Windows XP 下使用 Ruby、命令行工具、批处理文件,甚至第三方(需要开源,真的)工具?
最佳答案
这将检测用户是否在提升模式下运行(例如,命令提示符是“以管理员身份运行”)。它依赖于您需要管理员权限才能读取 LOCAL SERVICE 帐户注册 key 这一事实:
reg query "HKU\S-1-5-19"
如果无法读取,这将返回一个非零错误代码,如果可以,则返回零。
从 XP 开始工作...
关于windows - Windows XP下检测是否以管理员权限运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/560366/