2017-04-08 89 views
0

我想知道如何在初始登录成功后在putty中自动输入用户名和密码。使用批次在putty中输入第二个用户名和密码

我有一个bat文件connect.bat

@echo off 

putty [user]@[host] -pw [password] 

我运行此之后,它会打开一个新的窗口,腻子和验证的登录。

成功时,我不会重定向到shell,而是重定向到另一个登录屏幕。下面的示例。

enter image description here

然后我需要通过键入以下手动输入不同的用户名和密码。

[username] 
[ENTER KEY] 
[password] 
[ENTER KEY] 

最终被重定向到主菜单。

我试过如下:

echo [username] & [password] | putty [user]@[host] -pw [password] 

putty [user]@[host] -pw [password] < user_pass.txt 
putty [user]@[host] -pw [password] -m user_pass.txt 

但失败了,是否有通过批处理/ PowerShell脚本来执行此,或者我应该包括其他应用程序的方法吗?

+0

所以它的一些X Server应用程序,对不对?那不能是PuTTY屏幕。 –

回答

1

您可以尝试Sendkeys method

@if (@CodeSection == @Batch) @then 


@echo off 

rem Use %SendKeys% to send keys to the keyboard buffer 
set SendKeys=CScript //nologo //E:JScript "%~F0" 

rem Start the other program in the same Window 
start "" /B putty [user]@[host] -pw [password] 

rem Send the additional keys 
%SendKeys% "[username]{ENTER}" 
ping -n 2 localhost > NUL 
%SendKeys% "[password]{ENTER}" 

goto :EOF 


@end 


// JScript section 

var WshShell = WScript.CreateObject("WScript.Shell"); 
WshShell.SendKeys(WScript.Arguments(0)); 
+0

我试过了,但是我有一个错误。我应该安装还是激活一些应用程序? C:\文件> connect.bat C:\文件>如果(@CodeSection == @Batch) C:\文件\ connect.bat(1,17)微软的JScript编译错误:条件COM pilation是关闭 C:\文件\ connect.bat(1,17)Microsoft JScript中的编译错误:有条件的COM pilation关闭 C:\文件> – Treize

+0

行动!我有一个错字!第一个IF必须在@if(@CodeSection == @Batch)@ then'之前有一个at-sign ...我已经在代码中修复了它 – Aacini

+0

很酷我测试了它,它工作正常,非常感谢! – Treize

相关问题