具有Powershell的非交互式远程命令

时间:2015-02-26 22:51:16

标签: powershell remote-server non-interactive

我正在开发一个脚本,它使用ssh连接到Windows主机,运行powershell命令并解析输出。虽然我可以连接到主机并运行命令,但PowerShell将不会退出并将控制权返回到本地脚本,直到我按下回车键。

目前,正在运行的特定命令是ssh HOSTNAME 'echo $(hostname)',并且ssh服务器配置为将远程执行请求传递给powershell -noninteractive -command CMD,其中HOSTNAME是Windows主机的名称, CMD是要运行的远程命令(在本例中为echo $(hostname))。

最终目标是让调用远程powershell命令的脚本完全非交互式运行,但目前这是不可能的,因为powershell命令不会以非交互方式运行。

如何让PowerShell以非交互方式运行远程命令?

1 个答案:

答案 0 :(得分:0)

我已经解决了这个问题。虽然我还没有确定导致问题的原因,但至少可以通过将stdin重定向到启动ssh连接的/dev/null来解决问题。

$ ssh HOSTNAME "CMD" </dev/null

这个解决方案根本不涉及PowerShell,而是处理连接另一端的症状。