在 powershell - 命令参数中使用管道

在 powershell - 命令参数中使用管道

我有一台正在运行 openssh-server 的 Windows 机器,我可以通过它执行命令。例如...

这有效:

ssh vc-mgmt powershell -nologo -Command "get-vm"

这不起作用:

ssh vc-mgmt powershell -nologo -Command "get-vm | get-snapshot"

返回错误:

‘get-snapshot’ 不被识别为内部或外部命令、可运行程序或批处理文件。

如果我手动打开 Powershell 并运行,get-vm | get-snapshot它会按预期工作。

我的问题: 我怎样才能使第二个示例发挥作用?

答案1

我发现 | 被 ssh 解释。我只需要在 SSH 将执行的命令中添加单引号。以下有效。

ssh vc-mgmt 'powershell -nologo -Command "get-vm | get-snapshot"'

相关内容