使用plink的VBA telnet(Putty的命令行)-将命令发送到plink.exe

问题描述 投票:0回答:1

我正在抽出头发,试图做一些看似简单的事情,但我才刚刚走到尽头。

我真的还没走远:

Sub Test1()

 Const TARGET_HOST = "192.168.0.2 -P 24" ' Some proprietary telnet port 
 Const PLINKPATH = "C:\program files\putty\plink.exe"

    Set sh = CreateObject("WScript.Shell")
    cmd = """C:\program files\putty\plink.exe"" -telnet " & TARGET_HOST


    sh.Run cmd & " | clip", 1, True

End Sub

所以,我想做的是:

  1. 使用VBA作为TCP / IP客户端连接到某些计算机。
  2. 发送命令-说“帮助” + vbcrlf
  3. 将回复捕获到剪贴板或文件中,然后我都可以将其粘贴到工作表中
  4. 这部分确实让我感到困惑-.run和.exec都使我困惑,我似乎无法弄清楚如何发送“帮助” +回车符。我可以打开外壳程序窗口,但无法获取StdIn来向plink.exe发送命令。

预先感谢您能在这里帮助我的任何人。如果此方法不是将命令发送到plink.exe的正确方法,请提出其他方法,而不必使用winsock方法,这是很难保持前进的方法。

excel vba putty plink
1个回答
0
投票

您可以使用简单的输入重定向。您实际上已经使用| clip重定向了输出。同样,也可以重定向输入,请执行:

"echo help | " & cmd & " | clip"

另请参见How to execute remote command using PuTTY over Telnet

© www.soinside.com 2019 - 2024. All rights reserved.