web-dev-qa-db-ja.com

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を実行すると、期待どおりに機能します。

私の質問: 2番目の例を機能させるにはどうすればよいですか?

2
tbenz9

私はそれを理解しました| sshによって解釈されていました。 SSHが実行するコマンドに一重引用符を追加する必要がありました。以下の作品。

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