2017-10-20 127 views
0

我试图在Windows上使用PuTTY在Cisco交换机上运行一组show命令。通过PuTTY向Cisco交换机传递多个命令

我不能使用putty.exe(无Plink,expect,任何东西!)之外的任何东西!

我在提升PowerShell窗口中运行以下命令:

c:\temp\switches\putty.exe -load "cisco" -ssh IPADDRES -l username -pw password -m C:\temp\ciscoCMDs.txt 

*的“思科”的配置只是设置,以便它记录控制台窗口到一个文本文件。是

ciscoCMDs.txt的内容如下:

show version 
show vlan 

当我在升高的PowerShell窗口运行命令腻子发射并说:

=〜=〜=〜=〜= = = = = = = = = = = = = = PuTTY日志IPADDRESS 11:58:44 = = = = = = = = = = = = = = = = = = =使用用户名“Username” 。
线具有自动命令无效“显示版本显示VLAN”

如果我把一个!在第一行的末尾...

show version ! 
show vlan 

它运行show version命令,但不运行show vlan命令。

我怎样才能得到第二个命令运行? (我打算在那里放置更多的命令,但如果第二个命令可以运行,应该没有理由第三个...第n个不会运行。)

是否存在我需要的PuTTY配置文件中的配置设置为文件结束还是行尾?

我需要在行尾添加一个特殊字符,以便知道第二个命令即将到来吗?

只是要清楚:

  1. 我只能用腻子和SSH访问Cisco交换机。
  2. 我不能使用除了putty.exe,SSH连接和commands.txt文件以外的任何其他文件或程序,其中包含一系列命令。
  3. 我想从一个.txt文件运行多个show命令,并使用单个PuTTY配置文件和通过PowerShell运行的单个命令 记录命令的输出。

********编辑************

我需要在十六进制发送0D0A到CLI。有谁知道这是怎么做到的吗? \ n和\ r不起作用。有没有一种方法可以向思科IOS指定它正在查看的信息是在十六进制中?

+0

使用记事本编辑的Windows文件很可能有以两个ASCII控制字符Carriage-Return(CR或Control-M或^ M)和Line-Feed(LF或Control-J或^ J)结尾的行。我希望PuTTY能够照顾到这一点,但它可能不会。我认为这将是问题 –

+0

我尝试使用我在网上找到的转换器来尝试编码文本文件,但那也没用。你有没有机会知道如何解决这个问题,而无需访问Linux的盒子? – JohnKubik

+0

你试过用plink? plink -ssh IP -l用户名-pw密码 output.log –

回答

0

这实际上是思科的一个已知限制,即它不支持SSH“exec”通道命令中的多个命令。

引用腻子/的Plink手册第3.8.3.6 -m: read a remote command or script from a file

对于某些服务器(特别是Unix系统),则甚至可以把多条线路中的该文件,并执行在序列一个以上的命令,或一个整体外壳脚本;但这可以说是一种滥用,并且不能期望在所有服务器上都能正常工作。 特别是,它被称为而不是与某些“嵌入式”服务器(如Cisco路由器)一起工作。


使用的Plink与输入重定向可以解决该问题。


如果你真的坚持用腻子,然后作为一个真正的黑客总,你可以send key strokes with your PowerShell scriptputty.exe子。

+0

当。我无法使用plink。管理员锁定了plink.exe及其哈希值,所以我只能使用putty。 关于如何实现我的目标的任何其他想法?有没有办法让TCLSH工作? – JohnKubik

+0

刚刚尝试过,并没有包含在我们的powershell中...... dang! – JohnKubik

+0

我完全同意,但是如果我能将它运用起来,那将是惊人的。我怎样才能模拟它? – JohnKubik

相关问题