我有一个对象数组,其中一个作业保存在变量中。我遍历每个对象并尝试使用开始作业,但无法传递变量。
我的例子:
$command = "whoami" Start-Job -Name TESTJOB -ScriptBlock {$command} Id Name PSJobTypeName State HasMoreData Location Command -- ---- ------------- ----- ----------- -------- ------- 16495 TESTJOB BackgroundJob Running True localhost $command
如您所见,命令显示为$command
而不是whoami
。
这意味着我没有得到所需的输出。
我不必使用Start-Job
,但我正在尝试使诸如“线程”之类的东西能够正常工作,因为阵列中的某些作业将比其他作业花费更长的时间。
您能建议最好的方法吗?
答案 0 :(得分:1)
您需要在此处解决的2件事:使用using:
前缀从调用范围中解析$command
的值,然后使用&
调用运算符实际调用{{1 }}作为命令:
$command