質問: Export.json Start-Job { "test" >> "$using:File_Path\$using:TestText" Invoke-WebRequest -Method Get -Headers @{Accept='application/json';} -Uri $using:URL -WebSession $using:Get_Session -OutFile $using:File_Path\$using:FileName -TimeoutSec 60 } ``` ### 試したこと 上記のソースを実行すれば、バックグラウンドでInvoke-WebRequestが実行され、 OutFileを抽出することができる想定でしたが、抽出されませんでした。 動作を確認するため、Invoke-WebRequestの前にテキストファイルを生成するコマンドを 組み込みましたが、テキストファイルも生成されていませんでした。 この現象から、Start-Jobの記載方法に問題があると想定していますが、 Get-JobのStateはすべてCompletedとなっており、エラーメッセージも出力されていません。 Start-Jobの中に組み込まれたコマンドが実行されない理由を、ご教示ください。 ### 補足情報(FW/ツールのバージョンなど) PSVersion 5.1
回答: `$File_Path`を相対パスで指定しているのが原因だと思われます。 呼び出し元のPowerShellのカレントディレクトリ(`$PWD`, `Get-Location`)と、 `Start-Job`で実行されるPowerShellのカレントディレクトリが異なっているのではないでしょうか?