【发布时间】:2017-01-14 15:29:32
【问题描述】:
这些是我需要做的事情:
- 打开
putty.exe - 输入用户名和密码。
- 运行一个 shell 脚本。
我正在使用 UFT(VB 脚本)。我可以打开 PuTTY,但无法输入用户名和密码或使用 UFT 运行任何命令。
还有其他方法可以实现吗?我搜索了一下,发现我们可以使用Plink。那么问题是整个团队都必须为此安装 Plink。这是不可能的。
提前致谢。
【问题讨论】:
这些是我需要做的事情:
putty.exe
我正在使用 UFT(VB 脚本)。我可以打开 PuTTY,但无法输入用户名和密码或使用 UFT 运行任何命令。
还有其他方法可以实现吗?我搜索了一下,发现我们可以使用Plink。那么问题是整个团队都必须为此安装 Plink。这是不可能的。
提前致谢。
【问题讨论】:
直接启动putty时可以添加cmd参数;
启动 C:\Users\putty.exe -load "server" -l userID -pw Password -m commands.txt
你不能请求用户名并提前传递并将其传递给可执行文件吗?
【讨论】:
PuTTY 有 -m switch,您可以使用它来提供包含要执行的命令列表的文件的路径:
putty.exe user@example.com -m c:\local\path\commands.txt
在您的情况下,commands.txt 将包含您的 shell 脚本的路径,例如:
/home/user/myscript.sh
尽管对于自动化,您最好使用Plink command-line connection tool,而不是您已经发现的 GUI PuTTY 应用程序。 Plink 是 PuTTY 包的一部分,所以每个拥有 PuTTY 的人都应该拥有 Plink。
Plink (plink.exe) 具有与 PuTTY 相同的命令行参数。除此之外,您还可以直接在其命令上指定您的命令,例如:
plink.exe user@example.com /home/user/myscript.sh
或使用其标准输入
plink.exe user@example.com < c:\local\path\command.txt
(当然,您将使用您的语言的重定向机制,而不是<)。
请注意,使用-m 开关或直接在命令行上提供命令意味着非交互模式,而使用标准输入默认使用交互模式。因此结果或行为可能会有所不同。使用-t and -T switches分别强制交互和非交互模式。
【讨论】:
通过使用 plink -batch 标志而不需要脚本文件来运行单个远程命令或短系列命令更加容易。例如,要显示操作系统名称和目录列表,请执行以下操作:
plink user@host -pw 密码 -batch uname;ls
【讨论】: