2017-10-20 23 views
0

Je tente d'exécuter un ensemble de commandes show sur un commutateur Cisco à l'aide de PuTTY sous Windows.Passage de plusieurs commandes au commutateur Cisco via PuTTY

Je ne peux pas utiliser autre chose que putty.exe (pas de Plink, expect, rien!).

J'exécutant la commande suivante dans une fenêtre PowerShell élevée:

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

* La configuration « Cisco » définit juste il se connecte la fenêtre de la console dans un fichier texte.

Le contenu du ciscoCMDs.txt sont les suivantes:

show version 
show vlan 

Quand je lance la commande dans une fenêtre PowerShell élevée PuTTY lance et dit:

= ~ = ~ = ~ = ~ = ~ = ~ = ~ = ~ = ~ = ~ = PuTTY journal IPADDRESS 11:58:44 = ~ = ~ = ~ = ~ = ~ = ~ = ~ = ~ = ~ = ~ = Utiliser le nom d'utilisateur "Username" .
ligne a invalide autocommand "show version show vlan"

Si je place un ! à la fin de la première ligne ...

show version ! 
show vlan 

Il exécute la commande show version, mais ne fonctionne pas show vlan commande.

Comment puis-je lancer la deuxième commande? (J'ai l'intention d'y placer plusieurs autres commandes, mais si la seconde commande peut s'exécuter, il n'y aura pas de raison que la troisième ... nth ... ne soit pas exécutée.)

Y a-t-il une configuration dans le profil PuTTY? configuré pour la fin du fichier ou la fin de la ligne?

Y a-t-il un caractère spécial que je dois ajouter à la fin de la ligne pour le faire savoir qu'une deuxième commande arrive?

Juste pour être clair:

  1. Je ne suis en mesure d'utiliser PuTTY et SSH pour accéder à un commutateur Cisco.
  2. Je ne peux pas utiliser d'autres fichiers ou programmes autres que putty.exe, la connexion SSH et les fichiers commands.txt contenant une liste de commandes.
  3. Je voudrais exécuter plusieurs commandes show à partir d'un fichier .txt et avoir la sortie des commandes enregistrées en utilisant un seul profil PuTTY et une seule commande exécutée via PowerShell.

******** EDIT ************

je dois envoyer un 0D0A dans l'hexagone à la CLI. Est-ce que quelqu'un sait comment faire ça? \ n et \ r ne fonctionnent pas. Existe-t-il un moyen de spécifier à l'IOS de Cisco que l'information qu'il regarde est en hexadécimal?

+0

Les fichiers Windows édités avec le bloc-notes sont susceptibles d'avoir des lignes se terminant par les deux caractères de contrôle ASCII Carriage-Return (CR ou Control-M ou^M) et Line-Feed (LF ou Ctrl-J ou^J). Je m'attendrais à ce que PuTTY prenne soin de cela, mais ce n'est peut-être pas le cas. Je pense que ce serait le problème –

+0

J'ai essayé d'utiliser un convertisseur que j'ai trouvé en ligne pour essayer d'encoder le fichier texte, mais cela n'a pas fonctionné non plus. Y a-t-il une chance que vous sachiez comment résoudre ce problème sans avoir accès à une boîte Linux? – JohnKubik

+0

avez-vous essayé avec plink ??? plink -ssh IP -l nom d'utilisateur -pw mot de passe output.log –

Répondre

0

Il s'agit en fait d'une limitation connue de Cisco, à savoir qu'elle ne prend pas en charge plusieurs commandes dans une commande de canal "exec" SSH.

Citant la section 3.8.3.6 -m: read a remote command or script from a file du manuel PuTTY/Plink:

Avec certains serveurs (en particulier les systèmes Unix), vous pouvez même mettre plusieurs lignes dans ce fichier et d'exécuter plus d'une commande en séquence, ou une coquille entière scénario; mais c'est sans doute un abus, et on ne peut s'attendre à ce qu'il fonctionne sur tous les serveurs. En particulier, il est connu et non de fonctionner avec certains serveurs «embarqués», tels que les routeurs Cisco.


Utilisation de Plink avec une redirection d'entrée peut résoudre le problème.


Si vous êtes vraiment coincé avec PuTTY, puis comme un hack vraiment dégoûtant, vous pouvez send key strokes with your PowerShell script à la putty.exe sous-processus.

+0

Dang. Je ne suis pas capable d'utiliser plink. Les administrateurs ont verrouillé plink.exe et son hash, donc je ne peux utiliser que du mastic. D'autres idées sur la façon dont je peux atteindre mon objectif? Existe-t-il un moyen de faire fonctionner TCLSH? – JohnKubik

+0

Juste essayé et ce n'est pas inclus dans notre powershell non plus ... dang! – JohnKubik

+0

Je suis totalement d'accord, mais si je peux le faire fonctionner ce serait incroyable. Comment puis-je le simuler? – JohnKubik