使用批处理在putty中输入第二个用户名和密码

时间:2017-04-08 09:33:54

标签: windows batch-file login automation putty

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

我有一个bat文件connect.bat

@echo off

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

运行之后,它会打开一个新的putty窗口并验证登录。

成功后,我不会重定向到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

但失败了,有没有办法通过batch / powershell脚本执行此操作,还是应该合并另一个应用程序?

1 个答案:

答案 0 :(得分: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));