2013-03-24 8 views
5
W:> $job = start-job { Write-Output "hi there"; throw "an error!" } | Wait-Job 
W:> $job | select * 


State   : Failed 
HasMoreData : True 
StatusMessage : 
Location  : localhost 
Command  : Write-Output "hi there"; throw "an error!" 
JobStateInfo : Failed 
Finished  : System.Threading.ManualResetEvent 
InstanceId : 882957a9-a5e0-4876-bd22-0dbd87512f10 
Id   : 7 
Name   : Job7 
ChildJobs  : {Job8} 
PSBeginTime : 3/24/2013 5:52:41 PM 
PSEndTime  : 3/24/2013 5:52:47 PM 
PSJobTypeName : BackgroundJob 
Output  : {} 
Error   : {} 
Progress  : {} 
Verbose  : {} 
Debug   : {} 
Warning  : {} 

出力はどこにありますか?標準出力/エラーストリームはどのように表示されますか?Start-Jobの出力はどこに行きますか?

答えて

14

ジョブはバックグラウンドで実行されているため、コンソールには書き込まれません。出力を収集するためにジョブが完了したら、Receive-Jobを実行する必要があります。

+1

パーフェクト。ありがとうございます。私は、それを受け取ろうとする前に仕事が完了するのを待つことが重要だと付け加えます。 –

+0

@GeorgeMauer確かに。私はこの答えを私の答えに加えました。 –

+0

この現象は表示されません。代わりに、私のコンソールはジョブから無作法に出力を得ます。私はWait-Jobを使っていません – Sam

関連する問題