web-dev-qa-db-ja.com

Plinkを使用してスイッチでのコマンド実行を自動化

定期的に私のITチームと私は、メンテナンスのために職場の全員に対してWiFiをオフにする必要があります。現在、PuTTYを使用してスイッチにログインし、コマンドを入力してWiFiをオフにします。これには少し時間がかかりますが、それほど多くはありませんが、私たちのために働く新しい人のためにこれらの手順を簡略化したいと思いました。バッチファイルを作りたかったので、ワンクリックで完了しました。私はGoogle検索を実行しましたが、これまでに実行できたのは、PuTTYにバッチファイルを使用してスイッチにログインすることだけです。 -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がシャットダウンされることはありません。ご協力いただきありがとうございます。

P.S.私は試した plink.exe同様に同じ問題があります。

1
Zuhan

次の2つの問題のいずれか(または両方)があります。

  • 多くのデバイス(特にCiscoスイッチだけでなく、その他)のSSH実装は、SSH「exec」チャネル(PuTTY -mスイッチの背後にある)を使用する場合、複数のコマンドラインの実行をサポートしていません。
  • 複数のコマンドがサポートされている場合でも、それらは最上位のコマンドである必要があります。最初の行でシェルまたは別の対話型コマンド(configなど)を実行し、他の行を使用してそのサブコマンドを提供することはできません。

どちらの問題でも、解決策は入力リダイレクトを使用することです。これは、コマンド/行を1つずつ入力した場合と同じ効果があります。

(
    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]
0
Martin Prikryl