16

I have Windows Server 2003 with CopSSH installed on it ( Cygwin + sshd ). I would like to be able to run a PowerShell script via SSH session command and then use its output. Is there such a capability? How to do it?

AJM
  • 205
malloc4k
  • 861

6 Answers6

13

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.

ak2
  • 562
13

Barry Kelly is right.

You need to use my wrapper software that creates a hidden console and runs PowerShell on it.

My page is here: http://sergeybelous.com/SHELL-TERMINAL.html#proxywinconsole.exe

Someone already found my wrapper software and created a tutorial here: https://ssh-with-powershell.blogspot.com/2013/07/enable-ssh-with-powershell-and-remove.html

AJM
  • 205
Sergey
  • 131
9

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.

malloc4k
  • 861
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.

3

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.

Rolf
  • 131
0
Administrator@AAAAA-11111:~ $cd /cygdrive/c/WINDOWS/system32/WindowsPowerShell/v1.0
Administrator@AAAAA-11111:/cygdrive/c/WINDOWS/system32/WindowsPowerShell/v1.0 $ cmd /k powershell.exe
Windows PowerShell
Copyright (C) 2016 Microsoft Corporation. All rights reserved.

PS C:\WINDOWS\system32\WindowsPowerShell\v1.0>

this works for me.

explorer
  • 131