情况:
我正常启动命令提示符,没有管理员权限,要么是出于习惯,要么是故意,因为我不打算做任何需要提升权限的事情。
经过一番努力,我发现做需要以提升的权限从命令行运行某些程序。
问题:
- 我怎样才能做到这一点?
参数和假设:
我想在不超出现有 CMD 窗口的情况下执行此操作。(我知道“开始”菜单中的Ctrl++以及上下文菜单中的“以...身份运行”。我知道在命令行可能是一个选项,但这会强制创建一个ShiftEnter
runas
新的CMD 窗口。我想提升现存的,非特权 CMD 窗口。)我不想启用或创建任何其他帐户。
内置管理员和来宾帐户(SID 500 和 501)已禁用,并且未设置密码或配置了非常复杂且不友好的密码。我想让它们保持这种状态。
我的帐户是管理员组的成员。
我宁愿只使用内置工具(Windows 7 Ultimate)来做到这一点。其次是 Sysinternals 或其他 Microsoft 提供的附加组件。第三方工具是最后的选择。
虽然
runas
或sudo
类型功能可能足以解决这个问题,但我真的想要更像这样操作的东西su
- 给我一个提升的提示,我可以从中运行命令,直到我完成它。理想情况下,我希望这可以轻松逆转 - 我希望能够在同一个 CMD 窗口内返回到非提升状态。
答案1
提升会生成一个新进程——它不会提升现有进程。我不相信你想要的会实现。UAC 采用双令牌方法运行,即使你有权提升访问权限,除非你通过 UAC 请求,否则它不会提供。一旦请求,它就是一个新进程。