3

リモート処理を使用し、多くのファイルのコピーと PowerShell モジュールのロードとアンロードを行う複雑な PowerShell スクリプトがあります。スクリプト内で robocopy を使用して変更ファイルのみを移動し、すべてが正常に機能します。

ただし、時々、powershell セッションが奇妙な状態になり、外部コマンドを実行できなくなります。たとえば、コンソールに robocopy と入力すると、エラーも出力もなく、すぐに返されます。whoami と入力すると、出力なしですぐに返されます。この状態になるのは、同じスクリプトの実行の約 10 回に 1 回だけです。

コンソールを閉じて新しいセッションを開始すると、すべてが正常に戻ります。ここで何が起こっているのか分かりますか?この状態をデバッグまたは修正する方法がわかりません。

ありがとう、マイク

更新配列を write-host に渡すと、この動作を引き起こす可能性が ある既知の問題があるようです。私はこれをやっているとは信じていませんが、確実に知ることは困難です. whoami の結果が空になったときにテストするトラップを配置することができました。奇妙なことに、長時間実行されているリモート操作を待っている間に発生するようです。

4

3 に答える 3

1

残念ながら、私はあなたに答えを持っていませんが、私はこの正確な動作も見たので、いくつかの洞察を加えることができます。私は write-host を使用していないことを知っています。この問題は、powershell V2 のバックグラウンド ジョブとリモート処理を一緒に使用した場合にのみ発生します。通常、これはかなり多数のバックグラウンド ジョブを実行した後に発生し、あなたと同じように、問題はその単一の powershell プロセスに分離されています。PowerShell を再起動すると、常に問題が解決します。

于 2011-06-30T23:59:18.337 に答える
0

これに遭遇する可能性のある他の人のために-書き込みホストを持つすべての行を確認してください-私の場合、犯人はスクリプトの次の行でした:

書き込みホスト* ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ****

最後に、すべてのループが完了したことを示す視覚的なマーカーとして使用され、その下に要約がありました...削除するとすぐに、コマンドが実行されます。追加すると、実行が停止します...アスタリスクがバッファをオーバーフローする可能性がありますか?よくわかりませんが、二度と使用しません... :)

于 2011-09-15T21:03:35.283 に答える
0

robocopy コマンドで /R オプションを使用している場合は、再試行回数を増やしてみてください。デフォルト値を使用することをお勧めします。これがうまくいくことを願っています。

-アーキット

于 2012-03-20T13:15:54.780 に答える