Powershell 在foreach循环的第二次迭代中引用函数中的第二个参数

Powershell 在foreach循环的第二次迭代中引用函数中的第二个参数,powershell,foreach,parameters,iteration,ip-address,Powershell,Foreach,Parameters,Iteration,Ip Address,这里我有两个参数,它们将IP地址作为输入($IP和$ip2) 我希望foreach循环在第二次迭代时引用$ip2,在第一次迭代时引用$ip。如果总是有两个项目$vms,请使用常规的for循环: $ips = $ip,$ip2 for($i = 0; $i -lt 2; $i++) { $vm = $vms[$i] $ipAddress = $ips[$i] foreach ($srv in $list) { # ... pass $using:ipAddress to In

这里我有两个参数,它们将IP地址作为输入($IP和$ip2)


我希望foreach循环在第二次迭代时引用$ip2,在第一次迭代时引用$ip。

如果总是有两个项目
$vms
,请使用常规的
for
循环:

$ips = $ip,$ip2
for($i = 0; $i -lt 2; $i++)
{
  $vm = $vms[$i]
  $ipAddress = $ips[$i]

  foreach ($srv in $list) {
    # ... pass $using:ipAddress to Invoke-Command in here
  }
}

外部还是内部
foreach
循环?另外,
$list
在哪里定义?:)我不确定我是否明白你的意思,但是如果你想用foreach循环某些元素,你必须以正确的顺序为循环提供元素。因此,我认为您可以使用
$ip,$ip2
创建一个数组。。。还是我弄错了?外部循环和$list是在我的机器上使用get content本地定义的。那么,第三次会发生什么呢<代码>$ip是否应再次选择?啊,对不起,应该提到,列表中始终只有2项
$ips = $ip,$ip2
for($i = 0; $i -lt 2; $i++)
{
  $vm = $vms[$i]
  $ipAddress = $ips[$i]

  foreach ($srv in $list) {
    # ... pass $using:ipAddress to Invoke-Command in here
  }
}