問題タブ [powershell-jobs]
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のジョブとして別のワークフローからワークフローを呼び出す
実行時間の長いワークフローを別のワークフローから非同期的に呼び出す必要があります。powershellでそれを行う方法はありますか?
今私が電話するとき
呼び出されたワークフローがバックグラウンドで実行されている間に作業を続行できるように、呼び出し元のワークフローがすぐに「CalledWorkflow Invoked」の印刷を返す必要があります。
powershell - PowerShell プラグインを使用して Jenkins でジョブ開始ジョブを実行するために代替資格情報を使用できない
システム: Windows Server 2012 R2 | PowerShell v4 | ジェンキンス v1.607 | 64 ビット Java バージョン 8u60
何らかの理由で、Jenkins が実行されている Windows サーバーにログインし、次のコードを問題なく実行できます。
$Creds で使用していたのと同じユーザー資格情報を使用して、PowerShell プラグインを利用して、Jenkins ジョブ内で同じコードを実行しようとすると、役立つ情報なしで失敗します。資格情報が確認されました。これは私が得るエラーです:
ここにあるResolve-Error 関数を使用して、より多くの情報を取得しようとしました。出力は次のとおりです。
まだ役立つ情報はありません。何が問題なのか途方に暮れており、どうすればよいかわかりません。
powershell - Start-Job コマンドによって開始されたプロセスを確認するにはどうすればよいですか?
Start-Job
コマンドレットと-FilePath
パラメーターを使用して他の PowerShell スクリプトを呼び出す (継承した) PowerShell スクリプトがあります。たとえば、何もしないスクリプトがあります。
ジョブを介して呼び出すことができるもの:
このジョブに関連付けられているプロセスを見つけるための簡単で信頼できる方法はありますか (追加のpowershell.exeになると思います)。明らかに、これは 1 つのジョブだけでテストするのは簡単ですが、サーバー上では、これらの多くを同時に実行する場合があります。
なぜ私はこれをしたい/知りたいのですか?
私は新しい役割を担っており、さまざまなスクリプトを実行する複数のスケジュールされたタスクを持つサーバーで作業しています。これらのいくつかは、私の前任者が Start-Job を使用して呼び出すことを選択した他のスクリプトを呼び出します。これはおそらく、実行時間が長く (数時間) かかる可能性があり、並行して動作することを望んでいたためです。時折、彼らは立ち往生しているように見え、私は彼らを殺したいと思っていますが、まだ健全なものを止める危険を冒したくありません.
近い将来、これらのスクリプトのいくつかを書き直し始める可能性が高いため、この道を歩み始めたので、ジョブとプロセスをどのように一致させるかについては、おそらく単純な好奇心です。
powershell - ジョブの実行中にスクリプトブロック内で変数を割り当てる
powershell スクリプトの一部を終了して続行する に関連します。Powershell Job Always Shows Complete
に部分的に関連しています。
私のスクリプトはローカルで実行され、リモート PC のレジストリ ハイブにアクセスします。レジストリ キーの値を$RegHive
変数に書き込む必要があります。そして、一部のPCがフリーズした場合に備えてジョブとして監視したいので、コマンドを終了して別のPCに移動できます。
私の元のコードは次のようになります。
しかし、私が何をしても、変数$RegHive
は空です。
何らかの$RegHive = (Get-Job | Receive-Job)
値がそれに割り当てられる$RegHive
と、ジョブ/スクリプトブロックなしで通常どおり実行する場合とまったく同じように見えます。つまり、次のようになります。
そして同じものを持っています$RegHive.SubKeyCount
しかし、「通常の」ものには$RegHive.GetSubKeyName()
メソッドがあり、ジョブのものにはありません。
Receive-Job
変数の割り当てを回避し、ジョブとして実行されるスクリプトブロック内で直接割り当てを行うにはどうすればよいですか?
簡単に言えば:
$a
なしで3に等しくなる方法は$a = (Get-job | Receive-job)
?
multithreading - Powershell ジョブを使用して WPF GUI を更新する
個人的な Powershell スクリプト用にレスポンシブ GUI を作成しようとしています。オンラインでよく議論されている問題を思いつきました: GUI のフリーズ(Powershell はシングル スレッドであるため)。
この問題に似ていますが、私のケースは Powershell に固有のものです。XAML フォームに依存する GUI を作成するための Powershell ベースのソリューションの実装に成功しました。さて、このコードを考えてみましょう:
xamlGUI
はフォーム自体であり、$Somebutton
/$SomeLabel
は xaml から読み取って Powershell 変数に変換できたコントロールです。
計算が完了したときに、開始したジョブがラベルを更新しない理由を理解しようとしています。実際には何もしません。
私は Powershell の仕事に不慣れで、欠けているものがあるかどうか疑問に思っています。