我有一个Windows XP客户机上运行的GUI应用程序。 我想telnet,closures它,通过ftp把一些文件拖过来,然后重新启动它。
这是最后一部分,我有问题,因为它似乎从telnet启动任何GUI应用程序“启动”它只是在它被添加到进程列表的意义上。 它不popup窗体或真的开始做任何事情(如写日志文件)。
亲自尝试一下。 Telnet localhost => notepad.exe
有一个简单的方法来解决这个限制吗? 我也有RAdmin安装在所有这些机器上,也许有办法以某种方式使用它? 我怀疑它,因为这是一个自动化脚本,我的经验是,RAdmin有0支持这一点。
顺便说一句,我在stackoverflow上开始了这个讨论 ,并且向我推荐你们可能知道一些事情。
请参阅http://msdn.microsoft.com/en-us/library/ms687096(VS.85).aspx了解详情,尽pipe最终没有任何帮助,但是从远程login会话启动应用程序时发生了什么。 很多年以前,我为Windows NT3.50编写了一个telnet服务器,并且我很难学会所有这些东西:-)
我认为你需要再看看你想做什么。 从你的描述我猜你有一个GUI应用程序正在由login用户运行,你想杀了它,所以你可以做一些维护,然后重新启动。 杀死它很容易,你可以杀死这个过程。 以任何有用的方式重新启动它更难。 你可以设置电脑自动login,并从开始菜单运行应用程序? 然后你可以重新启动电脑,当你抓住你的文件。 我有些惭愧地承认,这是我在类似情况下所做的。
JR
它看起来像这样的Windows Telnet服务是不可能的。 我甚至testing了在“启用桌面”function的情况下在本地系统帐户下运行服务,但是这并不奏效(这样做会有严重的安全隐患)。
作为使用telnet的替代方法,我会推荐PsExec 。 PsExec是现在由Microsoftpipe理的SysInternal工具的一部分。 使用-i选项启用桌面交互。
psexec \\machine -u user -p password -i -w "C:\application" myapp.exe
你可以在这里下载PsExec。
这是不可能与任何GUI应用程序交互的,因为telnet服务器不能提供对GUI应用程序运行的窗口站的访问。 为了运行远程Windows GUI应用程序,您需要在terminal服务会话(或类似的)中启动它。
你必须使用Telnet吗? 远程桌面将允许您停止并以交互方式启动程序,并且仍然可以使用FTP来移动文件。 不足之处是:断开连接后,远程计算机将被locking,如果注销,程序将停止运行。
如上所述PsExec(sysinternals)提供了解决scheme,它是-i标志,允许在目标上创buildgui
与-d标志你的调用不会挂起(后台执行),因为它会等待应用程序终止
现在为了安全的远程执行,你可能想通过ssh来执行它,但是在这种情况下,freeSSHD是一个解决scheme,把它作为目标用户来执行,所以所有的产卵都是在同一个用户的情况下发生的(不要使用freeSSHD作为SYSTEM,而是使用你的用户名)
从putty内部执行的Acrobat的一个例子
C:\ PsExec.exe \\ 127.0.0.1 -d -i“C:\ Program Files \ … \ AcroRd32.exe”
另一件可能考虑使用psexec的事情是,v1.55不支持会话ID,因为当前的一个v1.9x
所以,而不是“-i”可能是因为
xp / nt系统“-i 0”
vista / 7系统“-i 1”
尝试“开始”命令。 它支持启动Windows应用程序,但我必须承认,我从来没有通过telnet会话进行testing。
Windows进程链接到Windows会话ID。 只有共享相同的会话ID或Desktop
,不同的进程才能进行交互。
Brian Bondy撰写的这篇博客 解释了所有这些,以及更多,包括绕过所有Windows安全性(通过在本地系统帐户下运行服务)的方法。
在Windows服务器上有一个工具schtasks.exe
哪个是任务pipe理器,但在命令行中。
这可能是在远程机器上运行GUI应用程序的替代方法。
要立即启动GUI应用程序,应该使用过去的时间“创build”(schtasks.exe / create),然后发出命令schtasks.exe /run
使用相同的任务名称参数schtasks.exe /run
。
它已经过testing,并且已经通过远程login连接certificate是完全可用的。
相关帮助页面https://technet.microsoft.com/zh-cn/library/cc772785(v=ws.10).aspx