如何从命令提示符运行提升的命令提示符?

如何从命令提示符运行提升的命令提示符?

我已通过 psexec 远程连接到 Windows 7 计算机,并在 Windows 7 计算机上运行远程命令提示符。我尝试执行的命令需要在提升的命令提示符下运行才能正常工作。

如果我的起点是未提升的命令提示符并且我无法访问 GUI,那么如何获得提升的命令提示符?

答案1

我以前也曾为此苦苦挣扎,但没能解决。唯一的办法就是创建一个计划任务,然后从 cmd 会话中执行它。

答案2

连接后似乎很难做到。微软有一个动力玩具安装以在命令中强制提升,但由于需要显示和接受提示,我不知道这在您的场景中如何工作(我想根本没有)。

elevate cmd.exe

但是,使用 Powershell 远程处理可能会解决这个问题,因为据我所知,远程连接时权限会提升。我猜 psexec 也应该能够实现这种支持 - 但你必须在连接时请求权限提升的上下文 - 而不是事后。

当然,计划任务技巧似乎确实有效......^^

答案3

在 Vista 中,您可以使用脚本从命令行禁用 UAC。我们使用它来禁用 UAC、重新启动计算机、运行我们的脚本/安装,然后再次启用 UAC,最后重新启动计算机。

我敢打赌 Win7 也有类似的方法,尽管我认为命令已经改变了。不过,它们只是注册表设置,因此直接在注册表中编写脚本相当容易。

只要您的脚本支持重启,这应该不难实现......

— 特隆德

答案4

PSExec 有指定用户名和密码的选项,当在需要访问网络资源的远程计算机上运行任务时,这是必需的(否则 PSExec 仅限于本地资源)。使用适当的帐户连接应该可以为您提供所需的访问权限:尝试psexec -u <用户名> -p

此外,runas 命令会以指定的权限运行命令(甚至是 cmd)。由于上述问题,我不知道它与 PSExec 配合得如何,但可以使用以下语法来提升权限:

runas /user:<domain>\<username> cmd

系统将提示您输入密码;如果输入正确,您将在新的命令提示符中以指定帐户的权限运行。不过,权限可能会受到 PSExec 运行时的权限限制。

相关内容