我找到了许多接近我想要的解决方案但不完全正确,并且我自己没有运气。
我正在尝试创建一个可用于自动执行防火墙身份验证的脚本。我通过打开cmd窗口并尝试远程登录到防火墙后面的设备/ PC,手动执行此操作。短暂停顿后,系统会提示我输入用户名和密码。
有没有办法编写一个打开cmd窗口并提供这两个值的批处理文件?
目前它是这样的:
C:> telnet device (I type this in to prompt authentication)
(short pause)
-- Firewall Authentication --
Username: (asks for input which I provide then press enter)
Password: (same as username)
-- Authentication Successful --
感谢您对此提供任何帮助。如果您需要更多细节,请评论:)
答案 0 :(得分:2)
你可以为它的sendkeys做一个小的vbscript。让我们说如果提示出现并且它首先关注用户名,那么如果您可以执行一个TAB及其密码,并且您可以使用RETURN键提交凭据,则可以将其添加到批处理脚本中:
CSCRIPT //NoLogo //B "C:\Folder\sendkeys.vbs"
PING 1.1.1.1 -n 1 -w 11000 >NUL
然后使用say Notepad创建一个名为sendkeys.vbs的文件(在本例中),并添加以下代码行:
set wshShell = WScript.CreateObject("WSCript.shell")
wscript.sleep 5000
wshShell.sendkeys "type username here"
wscript.sleep 1000
wshShell.sendkeys "{ENTER}"
wscript.sleep 3000
wshShell.sendkeys "type password here"
wscript.sleep 1000
wshShell.sendkeys "{ENTER}"
WScript.Quit
我这样做是为了通过命令行在Thunderbird中自动发送电子邮件。
答案 1 :(得分:0)
我担心,你不能这样做,因为telnet是一个可执行文件,所以处理输入(用户名和密码)只是这个程序的内部逻辑。
只有当telnet支持用户名和密码作为命令行参数时,才可能这样做。
但是存在一些棘手的解决方法。让你的朋友,一个程序员,写一个简单的程序