第一篇文章,我整天都在研究这个,我束手无策!我有一个名为 $Global:CBCGroups 的数组,我想包含一个名为 $Global:CBCTempHolder 的不断变化的变量的值。每当 $Global:CBCTempHolder 更改时,我希望它使用 += 将其内容添加到数组 $Global:CBCGroups 中(即:
$Global:CBCGroups += $Global:CBCTempHolder
CBCGroups 中的列是 CBCGroup 和 Element。$Global:CBCTempHolder 中也存在相同的值,但每个“For”语句中的值都会发生变化。这是代码:
$Global:CBCGroups = @()
for ($z = 0; $z -lt $Global:UniqueCCData.count; $z +=1)
{
If ($Global:UniqueCCData[$z]."AD Group".Contains("CBC_CBC_") -eq $True)
{
$Global:CBCTempHolder = @(0) * 1 | select CBCGroup,Element
$Global:CBCTempHolder.CBCGroup = $Global:UniqueCCData[$z]."AD Group"
$Global:CBCTempHolder.Element = $z
$Global:CBCGroups += $Global:CBCTempHolder
$Global:UniqueCCData[$z]."AD Group" = $Global:UniqueCCData[$z]."AD Group".Replace("CBC_CBC_","CBC.CBC")
}
}
所以,基本上发生的事情是每当我通过以下方式向 $Global:CBCGroups 添加新元素时:
$Global:CBCGroups += $Global:CBCTempHolder
我注意到,每当我更改 $Global:CBCTempHolder 的值,然后手动将 $Global:CBCTempHolder.CBCGroup 的值更改为任何值时,使用加法分配运算符连续添加 5 个元素,然后更改再次手动 $Global:CBCTempHolder,它将 $Global:CBCGroups 中的最后 5 个元素更改为相同的值!我需要 $Global:CBCGroups 中的每个元素从它添加到数组时起保持它的值。
我意识到 $Global:CBCTempHolder 不是一个真正的数组,但它包含我需要添加到新列表中的两个命名元素。我怎样才能做到这一点?