在远程Windows机器上以管理员身份运行命令

时间:2015-04-15 04:47:07

标签: windows batch-file ssh cmd sshd

情况:在Windows机器上运行bat文件:
1.当我双击bat文件时:Bat运行失败 2.当我右键单击bat文件并以管理员身份运行时:Bat run成功。

现在我必须从远程计算机成功运行此bat文件。

我做了什么:
1.在远程计算机上安装freeSSDd,并在freeSSHd上配置管理员用户访问shell和SFTP 2.现在我可以使用putty登录远程机器。

问题:
我无法成功运行bat文件。我怎样才能做到这一点?

我也使用了runas /savecred /user:administrator C:/install.bat,但它没有帮助。

2 个答案:

答案 0 :(得分:1)

有一种方法可以让无需任何第三方软件

您必须使用Windows任务调度程序在远程计算机上创建任务,该任务调度程序只执行所需的命令。有一个选项,您可以告诉scheruler运行具有特定帐户的蝙蝠。输入管理员帐户和密码,然后选中" 以最高权限运行"框。离开"触发"空,转到"设置"并检查" 允许任务按需运行"框。那就是它!

现在,当您想从其他位置运行文件时

SCHTASKS /RUN /S <RemoteServerName> /U username /P password /TN "<task name>"

如果您不想在每次熟悉用户政策时输入用户名和密码(例如将呼叫计算机添加到服务器的可信列表中)。

答案 1 :(得分:0)

如果您已经安装了ssh守护程序,那么您可以在远程shell中运行BAT,但是远程shell可能会在CMD.COM以外的地方打开。我使用cygwin设置sshd,然后从远程机器,如果我ssh in运行命令,它使用cygwin的bash。我可以运行BAT文件,但需要先调用CMD:

ssh WINDOWS_SERVER "cmd /C D:\PATH_TO_BAT\BATCHFILE.BAT"

但这里缺少一些东西。我简要地看了一下Freesshd页面,只看到了图形界面。 freesshd是否支持远程命令执行,或者只是安全的火灾传输?当你运行它时,在Windows服务器上执行什么样的shell?

cygwin是一个在Windows下运行的整个Linux子系统,包含一个sshd服务器,但对于初学者来说可能有点多:https://cygwin.com/

\ n使一个powershell远程服务器侦听端口22(ssh)并将您转储到PowerShell提示符中,然后您可以使用我上面的步骤从powershell调用CMD,而不是bash shell。

http://www.powershellserver.com/