我正在尝试在 PowerShell v2.0 中执行以下两行代码作为作业,但遇到了麻烦。我认为我的语法是正确的,但我无法让它做我认为应该做的事情,所以我显然做错了什么......
$report = <command line thing>
invoke-expression $report
这两行代码在 PowerShell 中工作。但是当我尝试将它放入启动作业命令时:
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
$report
我理解这个错误是说我传递调用表达式的参数为空,但是,我认为通过传递-argumentlist
参数,它会通过吗?