获取"无效的端口号"动态调用本地脚本文件时使用PuTTY

时间:2015-09-01 04:13:14

标签: vbscript sh putty

我必须使用PuTTY执行一堆命令。为了自动化这个过程,我正在创建一个文件,并使用VBScript动态地放置所有命令。此文件正在我的本地文件夹中创建。我正在尝试使用PuTTY执行此文件。但有些东西不起作用。我无法调用此本地文件..

Dim username
Dim password

username = InputBox("Please Enter Your UserID")
password =  InputBox("Please Enter Your Password")

Set fs = CreateObject("Scripting.FileSystemObject")
Set a =  fs.CreateTextFile("C:\TestFile.sh", True)
a.writeLine("cd /home/bin/")


Set shell = wscript.CreateObject("wscript.Shell")
pcmd = "putty.exe -ssh"&" "&username & "@10.51.12.34 -pw" &" "&password&" "&"-m"&" "&"""c:\Testfile.sh"""

我能够登录并且脚本文件也已成功创建。但是当我尝试拨打Testfile.sh时,我收到了无效的端口号。

请建议。

1 个答案:

答案 0 :(得分:1)

您为passwrd分配值时使用password

所以你得到的命令行是:

putty.exe -ssh username@10.51.12.34 -pw -m "c:\Testfile.sh"

虽然我没有得到"无效的端口号"您的命令行语法错误,我得到了类似的混淆错误。

所有这些显然是因为PuTTY命令行解析器被-pw开关弄糊涂而没有值。

您还应该在启动PuTTY之前关闭该文件。

组装命令行的表达式毫无意义。

这个怎么样?

pcmd = "putty.exe -ssh " & username & "@10.51.12.34 -pw " & password & " -m ""c:\Testfile.sh"""

考虑使用plink.exe代替putty.exe进行自动化 它具有相同的命令行语法,但它是一个控制台应用程序 https://the.earth.li/~sgtatham/putty/latest/htmldoc/Chapter7.html