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?
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'
}