【发布时间】:2012-07-13 20:51:33
【问题描述】:
我想将输入提供给 Cisco AnyConnect vpncli.exe (v2.3) 的命令行界面,以自动化其(重新)连接。它不接受用户名和密码作为命令行参数,而是通过命令行界面以交互方式从用户那里读取这些参数。
问题是vpncli.exe 的管道输入似乎不适用于密码。它适用于除密码之外的所有内容。所以做这样的事情是行不通的:
vpncli.exe < input.txt
type input.txt | vpncli.exe
应用程序卡在它要求输入密码的地方。
下面是用户输入参数的正常(工作)执行示例:
注意密码字符如何转换为*。
使用 AutoIt 或 AutoHotKey 之类的工具将输入发送到命令提示符窗口是可行的,但笨拙且脆弱(如果工具由于某种原因无法进入命令提示符窗口,则不起作用)。
有没有办法使用 PowerShell 将输入发送到此类交互式 CLI 应用程序?
(或者使用任何其他脚本语言或其他方式?)
【问题讨论】:
-
@AngshumanAgarwal,很遗憾,不是,它是不同版本的 VPN 客户端。
-
尝试wasp.codeplex.com - 尝试将击键发送到控制台窗口。
标签: winapi shell powershell scripting automation