Jimmy
Jimmy

Reputation: 31

Using Plink to change configs on multiple cisco switches

I have a PS script right now that lets me log into a range of switches one after another.

70..80 | % { plink "172.16.15.$_" -l enterusername -pw enterpassword}

This allows me to start at switch ending in .70 and once I am done and type exit, it automatically logs into the next one in sequence.

I want to create a text file that contains the changes I want to make to the running-config on the switch, such as maybe adding a user to 100 or so switches. How can I add to the PS script to make it so that it applies the changes to the config contained in the created text file? I am trying to automate changes to 100 edge switches vs having to type the config into each switch.

Or instead of pointing to a text file, can I somehow add the changes for the switch config right into the PS script?

Upvotes: 0

Views: 2020

Answers (1)

Ansgar Wiechers
Ansgar Wiechers

Reputation: 200473

When in doubt, read the documentation (emphasis mine):

7.2 Using Plink

This section describes the basics of how to use Plink for interactive logins and for automated processes.

Once you've got a console window to type into, you can just type plink on its own to bring up a usage message. This tells you the version of Plink you're using, and gives you a brief summary of how to use Plink:

Z:\sysosd>plink
PuTTY Link: command-line connection utility
Release 0.53
Usage: plink [options] [user@]host [command]
       ("host" can also be a PuTTY saved session name)
Options:
  -v        show verbose messages
  -load sessname  Load settings from saved session
  -ssh -telnet -rlogin -raw
            force use of a particular protocol (default SSH)
  -P port   connect to specified port
  -l user   connect with specified username
  -m file   read remote command(s) from file
  -batch    disable all interactive prompts

So all you need to do is create your command file, and add it to the commandline:

70..80 | ForEach-Object {
    plink "172.16.15.$_" -l enterusername -pw enterpassword -m 'C:\commands.txt'
}

Upvotes: 2

Related Questions