これは何度も聞かれていると思いますが、自分に合った答えが見つかりません。
- 変数からコマンドラインを作成する必要があります。
- そのコマンドライン実行可能ファイルを実行する必要があります。
- スクリプトと同じ画面に結果を表示する必要があります。
カスタムのソースと宛先を使用してPuttySCPを実行しようとしています。
私はいじりましたが&
、Invoke-Expression
それは不可能です。PowerShellのいくつかの単純な#1のユースケースは、信じられないほど難しいので、それが良いことです。
これを行うために私が見ることができる唯一の方法は、新しいProcessインスタンス内で実行し、すべての出力リダイレクトを設定し、終了後にPS画面にパイプで戻すことです。
そして、イベントに夢中になってそれをすくい取っていない限り、出力バッファーがいっぱいになる可能性があるため、これが失敗する可能性があることを私は知っています。
もう1つの方法は、コマンドラインをバッチファイルに書き込んで実行することです。
助けていただければ幸いです。もっと簡単な方法が必要です。
編集
例えば:
[string]$scpPath = Find-PathToPuttyScpExecutable;
[string]$scpArguments = "-v -r -pw " + $MarkLogicServerPassword + " " + $MarkLogicSourcePath + " " + $MarkLogicServerUserName + "@" + $ServerName + ":" + $MarkLogicDestinationRootPath
実行する必要があり$scpPath + " " + $scpArguments
ます。