Powershell で簡単なバックグラウンド ジョブを作成します。
Start-Job {"Hello"}
Get-Job で確認します。
Id Name State HasMoreData Location Command
-- ---- ----- ----------- -------- -------
1 Job1 Completed True localhost "Hello"
次に、単純に出力を受け取り、Get-Job を再度実行します。
Receive-Job 1
Get-Job
パラメーターを指定しなかったため、"HasMoreData" が false になっていることがわかり-keep
ます。
Start-Job
ただし、またはを使用せずにジョブを開始するたびにInvoke-Command
、この「HasMoreData」パラメーターがFalseに変更されないようです。
例:
Get-WMIObject win32_bios -AsJob
Test-Connection . -AsJob
指定しない限り、プロパティ HasMoreData が False に切り替わるように、この (間違った) 動作をバイパスできます-keep
か?
ありがとう!
更新-AsJob
:パラメーターを使用して行われたすべての呼び出しのようです。あなたが実行する場合
Start-Job {Test-Connection .}
それは機能します(「HasMoreData」は後にFalseになりますReceive-Job
)が、
Test-Connection . -AsJob
ではない。