我已通过 psexec 远程连接到 Windows 7 计算机,并在 Windows 7 计算机上运行远程命令提示符。我尝试执行的命令要求它在提升的命令提示符下运行才能工作。
如果我的起点是未提升的命令提示符并且我无权访问 GUI,我如何进入提升的命令提示符?
我已通过 psexec 远程连接到 Windows 7 计算机,并在 Windows 7 计算机上运行远程命令提示符。我尝试执行的命令要求它在提升的命令提示符下运行才能工作。
如果我的起点是未提升的命令提示符并且我无权访问 GUI,我如何进入提升的命令提示符?
我过去曾为此苦苦挣扎,但无法做到。唯一的方法是创建一个计划任务,然后从您的 cmd 会话中执行。
连接后似乎很难做到。Microsoft 有一个Powertoy可以安装以强制在命令中提升,但由于需要显示和接受提示,我不知道这在您的场景中将如何工作(我想根本不会)。
但是,使用说 Powershell 远程处理可能会解决这个问题,因为它会在远程连接 afaik 时提升。我想 psexec 也应该能够实现这种支持——但你必须在连接时请求提升的上下文——而不是之后。
当然,计划任务的技巧似乎确实有效...... ^^
在 vista 中,您可以使用脚本从 cmdline 禁用 UAC。我们使用它来禁用 UAC,重新启动计算机,运行我们的脚本/安装,然后在最后一次重新启动计算机之前再次启用 UAC。
我敢打赌 Win7 也有类似的方法,尽管我认为命令已经改变。不过,Thay 只是注册表设置,因此直接在注册表中编写脚本相当容易。
只要您的脚本具有重新启动意识,这应该不会太难实现......
-特隆德
PSExec 具有指定用户名和密码的选项,这是在需要访问网络资源的远程计算机上运行任务时所必需的(否则 PSExec 仅限于本地资源)。使用适当的帐户连接应该会给您所需的访问权限:尝试psexec -u < username > -p
此外,runas 命令运行具有指定权限的命令(甚至是 cmd)。由于上述问题,我不知道它与 PSExec 的性能如何,但使用以下语法来提升权限:
系统将提示您输入密码;如果键入正确,您将使用指定帐户的权限在新的命令提示符下运行。但是,这些权限可能会受到 PSExec 运行的权限的限制。