How to run a PowerShell script from Cygwin SSH session?
Solution 1:
Just invoke powershell
with the relevant arguments and pipe it to wherever you want it? You need to make sure it's in the PATH
of course.
Solution 2:
Barry Kelly is right.
You need to use my wrapper software that creates hidden console and runs powershell on it.
My page is here: http://sergeybelous.com/shell-terminal/#proxywinconsole.exe
Someone already found my wrapper software and created tutorial here: http://ssh-with-powershell.blogspot.com/2013/07/enable-ssh-with-powershell-and-remove.html
Solution 3:
First thing it is good to add PowerShell's executable path to user's PATH environmental variable. We do it by adding to user's .bashrc file line like:
export PATH=${PATH}:"/cygdrive/c/WINDOWS/system32/WindowsPowerShell/v1.0"
Then we can run PowerShell script just typing in our SSH session
powershell.exe -File "c:\u.ps1"
Of course now we can pipe it to use it's output.
I just wonder why I have to press "Enter" two times in my SSH session after typing the command for it to work.
Solution 4:
Try it with no inputformat
powershell.exe -inputformat none -noprofile echo hello
Can be useful for not having to deliver a file to the local machine.
Solution 5:
If you need to run powershell inside cygwin/babun, follow https://code.google.com/p/mintty/issues/detail?id=56#c64 . Bascilly, downloard or compile https://github.com/rprichard/winpty, copy it to your $PATH and then run
console.exe powershell
This also works with batch scripts that invoke powershell inside.