PowerShell v2.0 で次の 2 行のコードをジョブとして実行しようとしていますが、問題が発生しています。私は正しい構文を持っていると思いますが、それがすべきだと思うことをすることができないので、明らかに何か間違ったことをしています...
$report = <command line thing>
invoke-expression $report
これらの 2 行は PowerShell で機能します。しかし、それをstart-jobコマンドに入れようとすると:
start-job -scriptblock {invoke-expression $report} -argumentlist $report | wait-job | receive-job
次のエラーが表示されます。
Cannot bind argument to parameter 'Command' because it is null.
+ CategoryInfo : InvalidData: (:) [Invoke-Expression], ParameterBindingValidationException
+ FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Microsoft.PowerShell.Commands.InvokeExpre
ssionCommand
+ PSComputerName : localhost
このエラーは、invoke-expression を渡す引数が null であると言っていると理解していますが$report
、-argumentlist
param を渡すことで、それが通り抜けると思っていましたか?