我有一台正在运行 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"'