使用 Plink 在交换机上自动执行命令

使用 Plink 在交换机上自动执行命令

我和我的 IT 团队需要定期关闭工作场所所有人的 WiFi 以进行维护。目前,我们使用 PuTTY 登录交换机并输入关闭 WiFi 的命令,这需要一点时间,但不是很多,但我想为任何来为我们工作的新人简化这些步骤。我想制作一个批处理文件,这样只需单击一下即可完成。我已经在谷歌上搜索过,但到目前为止,我所能做的就是使用批处理文件进入并登录交换机。尝试使用命令-m一直commands.txt是我目前的问题。到目前为止,我遇到的情况是这样的。

putty.exe -ssh [user@switch] -pw [password] -m commands.txt

这是我所拥有的commands.txt

config t
int fa 2/0/1
shut
int fa 2/0/2
shut
end

但这不会关闭 WiFi。感谢您的帮助。

PS:我plink.exe也尝试过同样的问题。

答案1

您有以下两个问题之一(或两个都存在):

  • 许多设备(尤其是思科交换机,但也包括其他设备)的 SSH 实现在使用 SSH“exec”通道(位于 PuTTY 交换机后面-m)时不支持执行多个命令/行。
  • 即使支持多个命令,这些命令也必须是顶级命令。您不能config在第一行执行 shell 或其他交互式命令(如您的),然后使用其他行提供其子命令。

对于这两个问题,解决方案是使用输入重定向,其效果相同,就像您逐个输入命令/行一样:

(
    echo config t
    echo int fa 2/0/1
    echo shut
    echo int fa 2/0/2
    echo shut
    echo end
) | plink -ssh [user@switch] -pw [password]

相关内容