我有一个Web应用程序,其中包含一个启动EXE的命令
Process.Start("MyApp.exe")
然后,这个应用程序将运行putty.exe ,并将SendKeys模拟击键到应用程序。
如果我以我的用户名开始,或者即使使用runas /user:anyother_user运行,该应用也能正常工作。
问题是,当MyApp.exe启动putty.exe (当某人打开特定的网页时会发生什么),我可以看到该应用程序已启动,并且为MyApp.EXE和putty.exe创build了一个进程。 但是,对于我或任何用户来说似乎没有任何东西可以看到。 主要是因为应用程序是在NT AUTHORITY\NETWORK SERVICE下启动的。 我可以告诉, MyApp发送的按键都没有达到腻子。
我怀疑这是由于putty启动一个对话框第一次运行在用户下(提示build立安全连接等)。
我的问题是:
ntauthority\networkserviceclosuresputty引发的对话框吗? network service启动的putty窗口吗? 这样我可以自己解雇,然后不会再出现? putty (无需存储任何密码,出于安全原因)? 任何对这些问题的回答都将帮助我实现自己的目标。
框对话框似乎是远程服务器的主机密钥的接受。 腻子要求确认的主机密钥存储在想要连接到他的用户的registry中的这个密钥。 如果要跳过此对话框,可以使用-hostkey选项强制使用指定的主机-hostkey 。
而且,你可以解释putty使用-m选项存储在文本文件中的一系列命令。
所有这些选项在这里解释: 腻子