問題タブ [start-job]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
powershell - Powershell 並列ジョブ出力ファイル
すでに多くの調査を行っていますが、やりたいことを達成する方法がまだわかりません。
100 台の Linux サーバーで同じタスクを並行して実行したいと考えています。
これが私のスクリプトの簡単な例です:
私が抱えている問題は、特定のメッセージ (予期しない CPU 使用率など) を別のファイルに書き込みたいのですが、複数のジョブがこのファイルに同時に書き込もうとしていることです。
私の考えは、すべてのメッセージを配列に保存し、スクリプトの最後 (2 番目の foreach ループ) の内容をファイルに書き込むことです。
しかし、Receive-Job は変数/オブジェクトを返しません。
変数/オブジェクトを返す方法はありますか? または、私がやりたいことを達成する別の方法はありますか?
助けていただければ幸いです。ありがとう。
powershell - Powershell ジョブ開始同期出力
ジョブを開始する PowerShell スクリプトがあります
その後、残りのスクリプトを実行し続けます。
そのジョブは、そのプロセスの PID を監視するようなものです。
ジョブを終了することなく、n 秒ごとに PID を同期的に印刷したいと考えています。
たとえば、残りのスクリプトが実行されているときに、コンソールに出力を表示したいと考えています。
そのようなことはpowershellで可能ですか?
ありがとう。
powershell - powershell スクリプト内から powershell スクリプトを実行する
私はperlスクリプトperl1.plを持っています。perl スクリプト内で、powershell スクリプト script1.ps1 を呼び出します。script.ps1 では、ローカル変数をパラメーターとして使用して、script2.ps1 のような他のスクリプトを呼び出します。powershell スクリプト script3.ps1 を用意しました。script2.ps1 と並行して、script1.ps1 から script3.ps1 を実行したいと考えています。sample_script2.ps1 が実行されるのと同じ引数 (引数としてローカル変数) を渡す必要があります。最初に script3 を呼び出し、次に script2 を呼び出す必要があります。
次のようにpowershel.exeを試しました
C:..\powershell.exe -FilePath script3.ps1 $a,$b,$c
バイパス、実行ポリシーを含めました。$a $b $c はローカル変数です。しかし、何が起こるかは、コマンドラインが開き (スクリプトが呼び出される方法であるため)、script1.ps1 の実行を開始し、上記のコマンドで停止します。上記のコマンド ラインで「exit」と入力すると、script2 が起動します。
script3.ps1 と script2.ps1 を同じように並列実行するにはどうすればよいですか。
powershell - Start-Job - Scriptblock 内の robocopy の $lastexicode を確認します
私は何か簡単なことをしようとしています。
コピーを起動して $lastexitcode をチェックする robocopy ジョブを作成したいと考えています。
LOGMESSAGE は、イベントをログに記録し、エラーが発生した場合にメールを送信する関数です。
どういうわけか、 $lastexitcode 値は常に 16 に返されます-コピーが機能する場合でも。また、関数は実行されません(スクリプトブロックの外で動作します)
誰かが私が間違っていることについての手がかりを持っていますか?
どんな助けでも大歓迎です。
ありがとう !
powershell - Powershell ジョブ開始スクリプトブロックが実行されていません
ディレクトリ内の各ファイルをHTMLに変換することを目的とした、かなり単純なコードがいくつかあります。私の問題は、ファイルごとにジョブが正常に作成されても、スクリプトブロックが実行されないことです。
私はpowershellにかなり慣れていないので、これを解決する方法を試してみましたが、理解できないようです.
powershell - Powershell スクリプト - start-job スクリプトブロックのプログレスバーを増やす
私はpowershellを初めて使用し(約1週間)、ヘルプデスクがプリンターをインポートおよびエクスポートするためのツールを作成しようとしています。コードの実行中にフォームがフリーズすることを除けば、ツールは問題なく動作しています。
フリーズを軽減するために、ジョブとして実行するとタスクが完了することがわかりましたが、2 つの問題があります。
- ジョブが完了した結果、プログレス バーを 1 ステップ増やすことができません。
変数を渡すことができません。(これについては情報が山ほどあるので心配していません。構文を理解する必要があるだけです。それについても助けていただければ、それは素晴らしいことです。)
/li>
これに対する解決策を見つけました。フォームはまだフリーズしていますが、プログレス バーに動きを表示できます。これで十分です。
powershell - Powershell Start-Jobs スロットリング
ジョブのスロットリングと「ハング」または「失敗」したジョブに問題があります。これが基本的に私がやろうとしていることです。
単純な5つの同時ジョブを実行したいと思います。
問題は、応答しないサーバーにクエリを実行すると、ジョブがハングし、スクリプトが終了しないことです。私は追加しようとしました...
...最後の中括弧の上にありますが、20 秒が経過するまで同時実行を 1 つのスレッドに効果的に制限し、ハングしたジョブを破棄して他のジョブを実行するだけです。そのインスタンスでは、スクリプト全体がまだ終了していません。
このコードは、応答しないサーバーを取得しない限り、スロットリングやジョブの待機なしで正常に機能します。