【问题标题】:Automating command/script execution using PuTTY使用 PuTTY 自动执行命令/脚本
【发布时间】:2017-01-14 15:29:32
【问题描述】:

这些是我需要做的事情:

  1. 打开putty.exe
  2. 输入用户名和密码。
  3. 运行一个 shell 脚本。

我正在使用 UFT(VB 脚本)。我可以打开 PuTTY,但无法输入用户名和密码或使用 UFT 运行任何命令。

还有其他方法可以实现吗?我搜索了一下,发现我们可以使用Plink。那么问题是整个团队都必须为此安装 Plink。这是不可能的。

提前致谢。

【问题讨论】:

    标签: ssh putty plink


    【解决方案1】:

    直接启动putty时可以添加cmd参数;

    启动 C:\Users\putty.exe -load "server" -l userID -pw Password -m commands.txt

    你不能请求用户名并提前传递并将其传递给可执行文件吗?

    【讨论】:

    • 是的,这就是我要做的。获取用户名和密码并将其传递给 putty。但这不是这里的问题。问题是我无法使用 UFT 运行任何命令。我得到的错误是“腻子不是窗口对象”。
    【解决方案2】:

    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
    

    (当然,您将使用您的语言的重定向机制,而不是&lt;)。


    请注意,使用-m 开关或直接在命令行上提供命令意味着非交互模式,而使用标准输入默认使用交互模式。因此结果或行为可能会有所不同。使用-t and -T switches分别强制交互和非交互模式。

    【讨论】:

      【解决方案3】:

      通过使用 plink -batch 标志而不需要脚本文件来运行单个远程命令或短系列命令更加容易。例如,要显示操作系统名称和目录列表,请执行以下操作:

      plink user@host -pw 密码 -batch uname;ls

      【讨论】:

      • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
      猜你喜欢
      • 1970-01-01
      • 2017-06-16
      • 2021-08-01
      • 2021-07-16
      • 2012-10-20
      • 1970-01-01
      • 1970-01-01
      • 2017-06-24
      相关资源
      最近更新 更多