web-dev-qa-db-ja.com

psexecでパイプを送信する方法は?

psexecを使用してリモートサーバーでパイプを実行しようとしています。

私が実行しようとしているコマンドは

psexec \\servername DSQUERY USER -name *userpart* | DSGET USER -samid -display

現在、|パイプシンボルはローカルで実行されますが、これは必要なことではありません(dsgetが私のマシンに存在しないため)。

コマンド全体を引用符で囲んでみました

psexec \\servername "DSQUERY USER -name *userpart* | DSGET USER -samid -display"

しかし、その結果、psexecは引用された文全体を1つの実行可能ファイルとして実行しようとしましたが、これは明らかに存在しません。

パイプシンボルをリモートサーバーに渡して実行できるようにするにはどうすればよいですか?

2つの考えられる提案が思い浮かびます。キャレット(つまり^ |)でパイプ文字をエスケープしてみてください。それが機能しない場合は、リモートマシンでバッチファイルを作成し(パイプコマンドを含む)、バッチファイルを実行できます。 psexecを使用します。

3
cyberx86