我有这个PowerShell代码,我想工作。它目前不评估$ agent变量。开始作业中的变量
foreach($agent in $agentcomputers){
Write-Output 'Starting agent on '$agent
#psexc to start the agent
Start-Job -ScriptBlock {& psexec $agent c:\grinder\examples\startAgent.cmd}
}
这看起来类似于我的问题,除非我没有调用外部PowerShell脚本。
我想补充说的,使用的$ args [0] $剂和添加-ArgumentList参数,但没有奏效。
感谢您提供的任何帮助。
编辑/回信...
这是$ agentcomputers,只需一台电脑名称的列表。每一条都在自己的路线上。
$agentcomputers = Get-Content c:\grinder-dist\agent-computers.txt
我也尝试过这一点 - 的$ args [0]不计算
Start-Job -ScriptBlock {& psexec $args[0] c:\grinder\examples\startAgent.cmd} -ArgumentList @($agent)
'$ agent'中存储了什么? – 2012-04-17 18:05:15
您需要使用ArgumentList参数,或者使用'$ args'数组或param块。 – 2012-04-17 18:06:21
您可能还会更改$ agent变量的范围,我认为:$ global:agent。 – 2012-04-17 18:08:20