windows - Windows XP下检测是否以管理员权限运行

标签 windows ruby command-line privileges

我正在尝试找出如何检测用户是否在 Windows XP 下以管理员权限运行。多亏了 whoami 命令,这在 Vista/Win7 中很容易做到。下面是一个 Ruby 代码片段,说明如何在 Vista 下执行此操作:

请注意,以下链接现在包含了 muteW 建议的解决方案

http://gist.github.com/65931

问题是,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/

相关文章:

java - Powershell 与 Batch - Java 命令行

ruby-on-rails - 使用 Ruby 在 View 中渲染数组

python - 如何在 cmd 窗口中查看 Python 可执行文件输出?

ruby-on-rails - 将值从 View 传递到 Controller ,无需查询字符串

windows - Windows 上是否有 cat 的替代品

c - 在 win32 中显示错误命令行字符串的消息

c# - HTTPWebResponse 原始响应,使用反射

c++ - 您如何使用字符覆盖在 Windows 上进行屏蔽密码输入?

windows - 无法在 POSReady 7 上为 Visual Studio 2015 安装 Visual C++ Redistributable

带有 "watchdog"的 Ruby 线程