我有一個類似於下面的代碼的功能。它接收命令和命令參數。我不得不在後臺運行這個命令並收集輸出。但是,最後的陳述是竊聽我這個錯誤無法將參數綁定到參數「命令」,因爲它爲空。 Powershell
錯誤:
Cannot bind argument to parameter 'Command' because it is null.
+ CategoryInfo : InvalidData: (:) [Invoke-Expression], ParameterBindingValidationException
+ FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Microsoft.PowerShell.Commands.InvokeExpre
ssionCommand
+ PSComputerName : localhost
代碼:
$cmd = 'Get-content'
$Arg = 'path to file'
$sb = "$cmd $Arg -ErrorVariable e -ErrorAction Stop"
invoke-Expression $sb #This printsoutput
$job = Start-job -ScriptBlock {Invoke-Expression $sb}
wait-job -id $job.Id
$job | Receive-job #this should print output but throwing error
我敢肯定,最後一行是一個投擲的錯誤。
*但我不知道根本原因。*'$ sb'不存在於作業內部。 – PetSerAl