我有 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 的批处理脚本。