Respuestas:
¿Solo invoca powershell
con los argumentos relevantes y canalízalo a donde quieras? Debes asegurarte de que esté en el PATH
curso.
Barry Kelly tiene razón.
Debe utilizar mi software de envoltura que crea una consola oculta y ejecuta powershell en ella.
Mi página está aquí: http://sergeybelous.com/shell-terminal/#proxywinconsole.exe
Alguien ya encontró mi software de envoltura y creó el tutorial aquí: http://ssh-with-powershell.blogspot.com/2013/07/enable-ssh-with-powershell-and-remove.html
Lo primero es bueno agregar la ruta ejecutable de PowerShell a la variable de entorno PATH del usuario. Lo hacemos agregando a la línea del archivo .bashrc del usuario como:
export PATH=${PATH}:"/cygdrive/c/WINDOWS/system32/WindowsPowerShell/v1.0"
Entonces podemos ejecutar el script de PowerShell simplemente escribiendo en nuestra sesión SSH
powershell.exe -File "c:\u.ps1"
Por supuesto, ahora podemos canalizarlo para usar su salida.
Solo me pregunto por qué tengo que presionar "Enter" dos veces en mi sesión SSH después de escribir el comando para que funcione.
echo "\n" | powershell.exe ...
Pruébalo sin formato de entrada
powershell.exe -inputformat none -noprofile echo hello
Puede ser útil para no tener que entregar un archivo a la máquina local.
Si necesita ejecutar powershell dentro de cygwin / babun, siga https://code.google.com/p/mintty/issues/detail?id=56#c64 . Básicamente, descargue o compile https://github.com/rprichard/winpty , cópielo en su $ PATH y luego ejecute
console.exe powershell
Esto también funciona con scripts por lotes que invocan powershell en su interior.