I am trying to use the powershell call operator to essentially run the following command:
"C:\Program Files (x86)\PuTTY\plink.exe" "-v -agent -m C:\Scripts\idrac_powerup_commands.txt root@[servername]"
$runputtyscript = @() $runputtyscript += "-v" $runputtyscript += "-agent" $runputtyscript += "-m C:\Scripts\idrac_powerup_commands.txt" & 'C:\Program Files (x86)\PuTTY\plink.exe' $allArgs root@servername
This executes, but the script doesn't execute the file with the commands the same that it does if the original string was executed from the command line.. It shows me the admin console (so it has logged in, authenticated with the public key, etc.) but it just hasn't run the script I asked it to run.
Things I've tried
- Moving the filename component of -m to its own argument
- Putting quotes around the filename component of -m
Maybe more succinct way of asking: What is the proper way to use arguments that then have their own arguments (e.g. "-m [filename] -v -a" with the call operator (&) in powershell?