繁体   English   中英

Foreach循环中的多个变量[PowerShell]

[英]Multiple variables in Foreach loop [PowerShell]

是否可以将两个变量拉入Foreach循环?

以下是针对PowerShell ASP编写的。 我的Foreach循环语法不正确,但你应该能够破译我试图制作的逻辑。

$list = Get-QADUser $userid -includeAllProperties | Select-Object -expandproperty name
$userList = Get-QADUser $userid -includeAllProperties | Select-Object -expandproperty LogonName
if ($list.Count -ge 2)
{
    Write-host "Please select the appropriate user.<br>"
    Foreach ($a in $list & $b in $userList)
    {
        Write-host "<a href=default.ps1x?UserID=$b&domain=$domain>$b - $a</a><br>"}
    }
}

克里斯蒂安的回答是你应该在你的情况下做什么。 没有必要获得这两个列表。 记住PowerShell中的一件事 - 直到最后一步操作对象。 不要试图获得他们的属性等,直到你实际使用它们。

但是,对于一般情况,当你有两个列表并希望在这两个列表上有一个Foreach

你可以做Foreach自己做的事情:

$a = 1, 2, 3
$b = "one", "two", "three"

$ae = $a.getenumerator()
$be = $b.getenumerator()

while ($ae.MoveNext() -and $be.MoveNext()) {
    Write-Host $ae.current $be.current
}

或者使用带有$a.length等的普通for循环。

尝试以下内容。 您根本不需要两个变量:

$list = Get-QADUser $userid -includeAllProperties 
if ($list.Count -ge 2)
{
    Write-Host "Please select the appropriate user.<br>"
    Foreach ($a in $list)
    {
        Write-Host "<a href=default.ps1x?UserID=$a.LogonName&domain=$domain>$a.logonname - $a.name</a><br>"
    }  
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM