問題タブ [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 - スケジュールされたタスクのstart-job-credentialでPSSessionStateBroken
以下の行は、Powershellプロンプトからは正常に機能しますが、スケジュールされたタスクからは失敗します。
c:\ temp \ err.txtで、Windows2008R2のスケジュールされたタスクはブレッドクラムを残します。
...これにより、このMicrosoftバグレポートが表示されます。レポートには、ローカルホストのループバックリモーティングの回避策が記載されていますが、これはちょっと汚いように聞こえます。私はそこに行くべきですか?
より良い解決策はありますか?たぶん、* sessionコマンドレットまたはinvoke-commandの1つを使用しますか?スケジュールされたタスクのStart in
値は設定されていますが、バックグラウンドプロセスが何らかの悪い方法で変数を使用している可能性があります。
–version 2
構文を使用して、または構文を使用してpowershell.exeを呼び出すことはまだできません-command "& {bigKlugeyScriptblock}"
。
編集:タスクを実行するための新しいドメインアカウントの作成を回避しようとしています。そのアカウントにはローカルホストに対する権限がないため、タスクをdomainUser
fromとして実行することはできません。$cred
powershell - Start-Job からスクリプト内で powershell 関数を呼び出す方法は?
この質問とこの質問を見ましたが、問題の解決策が見つかりませんでした。
状況は次のとおりです。スクリプト (.ps1) ファイルに DoWork と DisplayMessage の 2 つの関数があります。コードは次のとおりです。
3 つのバックグラウンド ジョブを作成し (3 つの要素を持つ $array を使用)、イベントを使用してバックグラウンド ジョブからホストにメッセージを渡します。PowerShellホストが「処理開始」と「処理終了」を1回、「作業開始」と「作業終了」をそれぞれ3回表示することを期待します。しかし、代わりに、コンソールに「作業の開始」/「作業の終了」が表示されません。
イベントも powershell のジョブとして扱われるため、Get-Job を実行すると、イベント ジョブに関連する次のエラーが表示されます。
{'DisplayMessage' という用語は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されません。名前のスペルを確認するか、パスが含まれている場合は、パスが正しいことを確認してから、もう一度やり直してください。}
私の質問: Start-Job を呼び出している場所から同じスクリプトで定義された関数 (私の場合は DisplayMessage) をどのように再利用 (または参照) できますか? 出来ますか?-InitializationScript を使用して関数/モジュールを Start-Job に渡すことができることはわかっていますが、DisplayMessage 関数をスクリプトで 1 回、InitializationScript で 1 回、2 回記述したくありません。
powershell - start-job コマンドを並行して実行し、到着時に結果を出力する
サーバーのリストで特定の KBXXXXXX の存在を取得しようとしていますが、1 つのサーバーをスクリプトすると時間がかかり、結果が返されて戻ってきて、次のサーバーに移動します。このスクリプトは私にとっては問題なく動作します。結果を収集して表示するためだけに、スクリプトを開始して、ジョブやその他のプロセスとしてホットフィックスを取得したいと考えています。
リストを順次実行するのではなく、より高速に実行することを目的としています。
powershell - バックグラウンド ジョブでの Invoke-Command
複数のサーバーでコマンドを実行して出力を処理する必要があるpowershell 2.0スクリプトがあります。バックグラウンドジョブで各サーバーのコマンドと処理を実行したい。
コマンドは問題なく動作し、0.5 秒以内に終了します。
しかし、これをバックグラウンド ジョブで実行すると、ジョブは終了しません。
問題が何であるかを誰かが考えていますか?
powershell - powershell オブジェクトを使用してスクリプトを実行する
使用した PowerShell のバージョン: 3.0
こんにちは、みんな、
新しい Powershell パイプラインを作成してその中でスクリプトを実行し、生成された出力を出力変数に取得しようとしていますが、オブジェクト内から (実行されたスクリプトから) 生成された出力を取得できません。これの要点は、エラー検出に使用する予定の $Error オブジェクトを管理する必要がないようにすることです。以下に例を示します。
実行されたスクリプト内で出力を生成する次の 3 つの方法を使用しようとしていることに注意してください。
- 書き込みホスト
- 書き込み出力
- Write-Verbose ($ps.Streams.Verbose を使用して出力を取得しようとしましたが、何も取得しませんでした)
あなたが与えることができる提案やヒントは大歓迎です!
powershell - Powershell - Start-Job のスクリプトブロックで変数を事前評価する方法
Powershell でバックグラウンド ジョブを使用したいと考えています。
ScriptBlock 定義の時点で変数を評価する方法は?
$v1 と $v2 の空の値が出力されます。それらをスクリプトブロックで(渡して)評価し、バックグラウンドジョブに渡すにはどうすればよいですか?