gp8*_*586 5 syntax powershell foreach logic
是否可以将两个变量拉入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>"}
}
}
Run Code Online (Sandbox Code Playgroud)
man*_*lds 12
克里斯蒂安的回答是你应该在你的情况下做什么.没有必要获得这两个列表.记住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
}
Run Code Online (Sandbox Code Playgroud)
或者使用正常for循环$a.length等.
尝试以下内容.您根本不需要两个变量:
$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>"
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13309 次 |
| 最近记录: |