【发布时间】:2021-04-21 15:57:15
【问题描述】:
我在按环境对一组对象进行分组时遇到问题。以下脚本显示了三个环境,每个环境中都有服务器。现在,我试图按组循环这些对象,但环境名称出现错误。以下是我的示例逻辑:
$array = @(("DEVELOPMENT", ("SRV1")), ("QA", ("SRV2", "SRV3")), ("PRODUCTION", ("SRV4", "SRV5")))
ForEach ($system in $array) {
$envName = $array[0]
ForEach ($hostname in $system[1]) {
Write-Host ("Result for " + $hostname + " in " + $envName)
}
}
变量名 $envName 总是返回同样的错误结果。
[0]:"DEVELOPMENT"
[1]:"SRV1"
如何按以下方式对 $array[0] 和 $system[1] 进行分组和循环?
DEVELOPMENT = SRV1
QA = SRV2, SRV3
PRODUCTION = SRV4, SRV5
【问题讨论】:
-
看起来像是错字。而不是
$envName = $array[0],你应该写$envName = $system[0]。 -
你是对的——我刚刚意识到这一点。谢谢
标签: arrays powershell loops foreach server