<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://doc.ycharbi.fr/index.php?action=history&amp;feed=atom&amp;title=Autocommand_-_cisco</id>
	<title>Autocommand - cisco - Historique des versions</title>
	<link rel="self" type="application/atom+xml" href="https://doc.ycharbi.fr/index.php?action=history&amp;feed=atom&amp;title=Autocommand_-_cisco"/>
	<link rel="alternate" type="text/html" href="https://doc.ycharbi.fr/index.php?title=Autocommand_-_cisco&amp;action=history"/>
	<updated>2026-05-19T08:48:47Z</updated>
	<subtitle>Historique des versions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://doc.ycharbi.fr/index.php?title=Autocommand_-_cisco&amp;diff=1476&amp;oldid=prev</id>
		<title>Ycharbi : Page créée avec « Category:cisco  Sur Cisco IOS, &lt;syntaxhighlight lang=&quot;bash&quot; inline&gt;autocommand&lt;/syntaxhighlight&gt; est une méthode permettant d&#039;exécuter une (et une seule) commande automatiquement lors de la connexion à une ligne ou à un utilisateur en particulier.  Cette fonctionnalité peut répondre à plusieurs besoins comme l&#039;affichage d&#039;informations à la connexion (possibilité de dédier un utilisateur à cette tâche ou en complément d&#039;une Configura... »</title>
		<link rel="alternate" type="text/html" href="https://doc.ycharbi.fr/index.php?title=Autocommand_-_cisco&amp;diff=1476&amp;oldid=prev"/>
		<updated>2023-08-06T00:04:41Z</updated>

		<summary type="html">&lt;p&gt;Page créée avec « &lt;a href=&quot;/index.php/Cat%C3%A9gorie:Cisco&quot; title=&quot;Catégorie:Cisco&quot;&gt;Category:cisco&lt;/a&gt;  Sur &lt;a href=&quot;/index.php/Ios_-_cisco&quot; title=&quot;Ios - cisco&quot;&gt;Cisco IOS&lt;/a&gt;, &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; inline&amp;gt;autocommand&amp;lt;/syntaxhighlight&amp;gt; est une méthode permettant d&amp;#039;exécuter une (et une seule) commande automatiquement lors de la connexion à une ligne ou à un utilisateur en particulier.  Cette fonctionnalité peut répondre à plusieurs besoins comme l&amp;#039;affichage d&amp;#039;informations à la connexion (possibilité de dédier un utilisateur à cette tâche ou en complément d&amp;#039;une Configura... »&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Category:cisco]]&lt;br /&gt;
&lt;br /&gt;
Sur [[Ios - cisco|Cisco IOS]], &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; inline&amp;gt;autocommand&amp;lt;/syntaxhighlight&amp;gt; est une méthode permettant d&amp;#039;exécuter une (et une seule) commande automatiquement lors de la connexion à une ligne ou à un utilisateur en particulier.&lt;br /&gt;
&lt;br /&gt;
Cette fonctionnalité peut répondre à plusieurs besoins comme l&amp;#039;affichage d&amp;#039;informations à la connexion (possibilité de dédier un utilisateur à cette tâche ou en complément d&amp;#039;une [[Configuration_de_base_-_commutateur_cisco#Banni%C3%A8re_d&amp;#039;accueil|bannière d&amp;#039;accueil]] par exemple) ou permettre la persistance de configurations éphémères (tel les paramètres de la commande &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; inline&amp;gt;terminal&amp;lt;/syntaxhighlight&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
L&amp;#039;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; inline&amp;gt;autocommand&amp;lt;/syntaxhighlight&amp;gt; ne supportant qu&amp;#039;une seule commande, son utilité peut s&amp;#039;en retrouver fortement limité. Heureusement, il est possible de contourner ce handicap par l&amp;#039;usage d&amp;#039;un script &amp;#039;&amp;#039;Tool Command Language&amp;#039;&amp;#039; (&amp;#039;&amp;#039;TCL&amp;#039;&amp;#039;).&lt;br /&gt;
&lt;br /&gt;
=Usage=&lt;br /&gt;
==Par utilisateur==&lt;br /&gt;
Il est possible d&amp;#039;avoir un utilisateur dédié à la visualisation d&amp;#039;une information en particulier (l&amp;#039;état des interfaces réseau ou des utilisateurs connectés par exemple). L&amp;#039;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; inline&amp;gt;autocommand&amp;lt;/syntaxhighlight&amp;gt; peut être configuré pour un utilisateur à sa création afin de le dédier à l&amp;#039;exécution d&amp;#039;une seule commande avant déconnexion immédiate et automatique. L&amp;#039;administration sera alors impossible avec cet utilisateur (uniquement en &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; inline&amp;gt;line console 0&amp;lt;/syntaxhighlight&amp;gt;, ce qui en fait une fonctionnalité pas mal bancale...).&lt;br /&gt;
 username interfaces secret interfaces&lt;br /&gt;
 username interfaces autocommand show interface status&lt;br /&gt;
&lt;br /&gt;
L&amp;#039;utilisateur &amp;#039;&amp;#039;interfaces&amp;#039;&amp;#039; avec le mot de passe &amp;#039;&amp;#039;interfaces&amp;#039;&amp;#039; exécutera automatiquement la commande &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; inline&amp;gt;show interface status&amp;lt;/syntaxhighlight&amp;gt; avant de se déconnecter immédiatement de lui même. Notez qu&amp;#039;il est tout à fait possible d&amp;#039;utiliser une [[Ssh_-_cisco#Authentification_par_cl%C3%A9_publique|clé SSH]] à la place d&amp;#039;un mot de passe pour la connexion à l&amp;#039;utilisateur.&lt;br /&gt;
&lt;br /&gt;
Comme à l&amp;#039;accoutumé, il est recommandé de désactiver l&amp;#039;accès à la commande &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; inline&amp;gt;enable&amp;lt;/syntaxhighlight&amp;gt; pour les utilisateurs non privilégiés afin d&amp;#039;écarter une élévation de privilège par ce biais&lt;br /&gt;
 privilege exec level 15 enable&lt;br /&gt;
&lt;br /&gt;
==Par ligne==&lt;br /&gt;
Un &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; inline&amp;gt;autocommand&amp;lt;/syntaxhighlight&amp;gt; affecté à une ligne exécutera automatiquement une commande à la connexion via ladite ligne (typiquement via [[Liaisons rs232|console]], &amp;#039;&amp;#039;Telnet&amp;#039;&amp;#039; ou [[Ssh - cisco|SSH]]). Le comportement par défaut est de fermer la session après la commande mais il est possible de changer cela.&lt;br /&gt;
&lt;br /&gt;
 # Configuration des lignes 0 à 3&lt;br /&gt;
 line vty 0 3&lt;br /&gt;
 &lt;br /&gt;
 # Désactivation du comportement de déconnexion automatique à l&amp;#039;exécution&lt;br /&gt;
 autocommand-options nohangup&lt;br /&gt;
&lt;br /&gt;
 # Exécution de la commande &amp;quot;who&amp;quot; à la connexion&lt;br /&gt;
 autocommand who&lt;br /&gt;
&lt;br /&gt;
=Commandes multiples=&lt;br /&gt;
Afin de contourner la limitation de la commande unique, il est possible d&amp;#039;exécuter un script &amp;#039;&amp;#039;TCL&amp;#039;&amp;#039; contenant autant d&amp;#039;instructions que désirée. C&amp;#039;est dans ce cas de figure que la technique devient particulièrement intéressante.&lt;br /&gt;
&lt;br /&gt;
Dans la mesure où &amp;#039;&amp;#039;IOS&amp;#039;&amp;#039; ne dispose pas d&amp;#039;éditeur de texte intégré, il est possible de rédiger votre script sur un ordinateur et de le transférer sur l&amp;#039;équipement réseau via un protocole de transfert de fichiers tel que &amp;#039;&amp;#039;TFTP&amp;#039;&amp;#039; ou &amp;#039;&amp;#039;HTTP&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
{{astuce|Rédigez votre script sur une machine et rendez-le disponible via un protocole de transfert de fichiers supporté par l{{&amp;#039;}}&amp;#039;&amp;#039;IOS&amp;#039;&amp;#039; de votre équipement. Il vous sera alors possible de l&amp;#039;exécuter directement depuis le dépôt distant et ainsi gagner en temps lors de vos tests. Ce n&amp;#039;est que lorsque vous serez arrivé au résultat voulu que vous aurez à le transférer en local pour une exécution depuis la &amp;#039;&amp;#039;flash&amp;#039;&amp;#039;.}}&lt;br /&gt;
&lt;br /&gt;
Contenu du script &amp;lt;syntaxhighlight lang=&amp;quot;tcl&amp;quot; inline&amp;gt;terminal.tcl&amp;lt;/syntaxhighlight&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;tcl&amp;quot;&amp;gt;&lt;br /&gt;
proc terminal-defaut x {&lt;br /&gt;
	terminal monitor&lt;br /&gt;
	terminal length 0&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
terminal-defaut 1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le processus (fonction) &amp;lt;syntaxhighlight lang=&amp;quot;tcl&amp;quot; inline&amp;gt;terminal-defaut&amp;lt;/syntaxhighlight&amp;gt; n&amp;#039;attendant aucun argument (on en met un par ce que c&amp;#039;est obligatoire...) exécutera les deux commandes contenues dans ses accolades permettant respectivement d&amp;#039;activer la journalisation dans le &amp;#039;&amp;#039;VTY&amp;#039;&amp;#039; et de désactiver la pagination lors d&amp;#039;un retour &amp;#039;&amp;#039;stdout&amp;#039;&amp;#039; conséquent. Ce processus est appelé à la dernière ligne afin d&amp;#039;en exécuter son contenu.&lt;br /&gt;
&lt;br /&gt;
 # Exécution du script depuis le dépôt distant&lt;br /&gt;
 tclsh tftp://2001:db8::/terminal.tcl&lt;br /&gt;
 &lt;br /&gt;
 # Lorsque le comportement est validé, rapatriement du script en local&lt;br /&gt;
 copy tftp://2001:db8::/terminal.tcl flash:&lt;br /&gt;
 &lt;br /&gt;
 # Configuration des lignes 0 à 3&lt;br /&gt;
 line vty 0 3&lt;br /&gt;
 &lt;br /&gt;
 # Désactivation de la déconnexion automatique à la fin de la commande et configuration de l&amp;#039;autocommand sur le script TCL&lt;br /&gt;
 autocommand-options nohangup&lt;br /&gt;
 autocommand  tclsh flash:terminal.tcl&lt;br /&gt;
&lt;br /&gt;
=Sources=&lt;br /&gt;
* https://community.cisco.com/t5/network-management/quot-terminal-monitor-quot-on-by-default/td-p/2885504&lt;br /&gt;
* https://blog.ipspace.net/2007/03/executing-command-upon-user-login.html&lt;br /&gt;
* https://blog.ipspace.net/kb/Tclsh/10-commands.html&lt;br /&gt;
* https://blog.ipspace.net/kb/Tclsh/&lt;br /&gt;
* https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/ios_tcl/configuration/12-4t/ios-tcl-12-4t-book/nm-script-tcl.html&lt;/div&gt;</summary>
		<author><name>Ycharbi</name></author>
	</entry>
</feed>