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
を実行すると、期待どおりに機能します。
私の質問: 2番目の例を機能させるにはどうすればよいですか?
私はそれを理解しました| sshによって解釈されていました。 SSHが実行するコマンドに一重引用符を追加する必要がありました。以下の作品。
ssh vc-mgmt 'powershell -nologo -Command "get-vm | get-snapshot"'