我已通过psexec远程连接到Windows 7计算机,并在Windows 7计算机上运行远程命令提示符。 我试图执行的命令要求它运行在提升的命令提示符下工作。
如果我的出发点是没有提升的命令提示符,并且我无法访问GUI,那么如何获得提升的命令提示符?
过去我已经和这个摔angular了,这是不可能的。 唯一的方法是创build一个计划任务,然后从cmd会话执行。
连接后似乎很难做到。 微软有一个Powertoy安装强制提升在一个命令,但作为提示需要显示和接受,我不知道如何在你的情况下工作(我猜根本没有)。
elevate cmd.exe
但是,使用Powershell远程代替可能会解决这个问题,因为它会提升远程连接afaik时。 我猜psexec也应该能够实现这种支持 – 但是你不得不请求一个连接的高级上下文 – 而不是之后。
当然,计划任务的伎俩似乎工作… ^^
PSExec有指定用户名和密码的选项,这是在需要访问networking资源的远程计算机上运行任务时所必需的(否则PSExec仅限于本地资源)。 连接适当的帐户应该给你你需要的访问权限:请尝试psexec -u <用户名> -p
此外,runas命令运行具有指定权限的命令(甚至是cmd)。 我不知道如何使用PSExec,因为上面提到的问题,但是使用下面的语法来提升权限:
runas /user:<domain>\<username> cmd
系统会提示您input密码; 如果input正确,您将使用指定帐户的特权在新的命令提示符下运行。 虽然,PSExec运行的特权可能会限制特权。
在Vista中,您可以使用脚本禁用cmdline中的UAC。 我们使用这个来禁用UAC,重启计算机,运行我们的脚本/安装,然后在给计算机最后一次重启之前再次启用UAC。
我敢打赌,Win7也有类似的做法,尽pipe我觉得命令已经改变了。 但是,Thay只是registry设置,所以在registry中直接编写脚本会相当容易。
只要你的脚本是重新启动意识到这不应该太难实施…
-Trond