如何从 Cygwin SSH 会话运行 PowerShell 脚本?

如何从 Cygwin SSH 会话运行 PowerShell 脚本?

我有 Windows Server 2003警察SSH安装在其上( Cygwin + sshd )。我希望能够通过 SSH 会话命令运行 PowerShell 脚本,然后使用其输出。有这样的功能吗?怎么做?

答案1

只需使用相关参数进行调用,然后将其通过管道传输到您想要的任何位置即可?当然,powershell您需要确保它在里面。PATH

答案2

巴里凯利是对的。

您需要使用我的包装软件来创建一个隐藏的控制台并在其上运行 PowerShell。

我的页面在这里: http://sergeybelous.com/SHELL-TERMINAL.html#proxywinconsole.exe

有人已经找到了我的包装软件并在这里​​创建了一个教程: https://ssh-with-powershell.blogspot.com/2013/07/enable-ssh-with-powershell-and-remove.html

答案3

首先,最好将 PowerShell 的可执行路径添加到用户的 PATH 环境变量中。我们通过在用户的 .bashrc 文件中添加以下行来实现:

export PATH=${PATH}:"/cygdrive/c/WINDOWS/system32/WindowsPowerShell/v1.0"

然后我们可以在 SSH 会话中输入以下代码来运行 PowerShell 脚本

powershell.exe -File "c:\u.ps1"

当然现在我们可以通过管道使用它的输出。

我只是想知道为什么在 SSH 会话中输入命令后必须按两次“Enter”才能使其工作。

答案4

如果你需要在 cygwin/babun 中运行 powershell,请按照https://code.google.com/p/mintty/issues/detail?id=56#c64.Bascilly,下载或编译https://github.com/rprichard/winpty,将其复制到 $PATH 然后运行

console.exe powershell

这也适用于在内部调用 powershell 的批处理脚本。

相关内容