У меня Windows Server 2003 с установленным CopSSH (Cygwin + sshd). W хотел бы иметь возможность запускать сценарий PowerShell через команду сеанса SSH, а затем использовать его вывод. Есть ли такая возможность? Как это сделать ?
Просто вызовите powershell
с соответствующими аргументами и направить его туда, куда вы хотите? Вы должны убедиться, что он в PATH
конечно.
Барри Келли прав.
Вам нужно использовать мою программу-оболочку, которая создает скрытую консоль и запускает на ней powershell.
Моя страница здесь: http://sergeybelous.com/shell-terminal/#proxywinconsole.exe
Кто-то уже нашел мою программу-оболочку и создал здесь руководство: http://ssh-with-powershell.blogspot.com/2013/07/enable-ssh-with-powershell-and-remove.html
Во-первых, хорошо добавить путь к исполняемому файлу PowerShell в пользовательскую переменную окружения PATH. Мы делаем это, добавляя в пользовательский файл .bashrc строку, например:
export PATH=${PATH}:"/cygdrive/c/WINDOWS/system32/WindowsPowerShell/v1.0"
Затем мы можем запустить сценарий PowerShell, просто набрав в нашем сеансе SSH
powershell.exe -File "c:\u.ps1"
Конечно, теперь мы можем использовать конвейер для использования вывода.
Мне просто интересно, почему я должен дважды нажать «Enter» в сеансе SSH после того, как набрал команду, чтобы он заработал.
Попробуйте без формата ввода
powershell.exe -inputformat none -noprofile echo hello
Может быть полезно, если не нужно доставлять файл на локальный компьютер.
Если вам нужно запустить powershell внутри cygwin / babun, следуйте https://code.google.com/p/mintty/issues/detail?id=56#c64 . Bascilly, загрузить или скомпилировать https://github.com/rprichard/winptyскопируйте его в свой $ PATH и запустите
console.exe powershell
Это также работает с пакетными скриптами, которые вызывают внутри PowerShell.