如何修复"Collection was modified; enumeration operation may not execute in powershell"



我正在尝试将具有多个值的变量插入另一个变量以将值添加到表中。但枚举操作不会执行

我试过制作数组、数组列表,但没有任何效果

[guid]$subscriptionId = "blank for example" 
[guid]$tenantId = "blank for example" 

Select-AzureRmSubscription -SubscriptionId $subscriptionId
$resgrp = Get-AzureRmResourceGroup | select ResourceGroupName,Location
foreach ($res in $resgrp)
{
    $timestmp = Get-AzureRmResourceGroupDeployment -ResourceGroupName $res.ResourceGroupName | select Timestamp
    $resgrp.Add($timestmp)
}

我希望看到一个格式化的表格,其中包含:

ResourceName   Location  Timestamp
------------   --------  ---------
etc.           etc.      etc.

不能修改当前正在迭代的列表。

相反,您要做的是创建一个包含原始输入对象 + 添加的时间戳的新列表:

$resgrpWithTimestamp = $resgrp |Select ResourceGroupName,Location,@{Name='Timestamp';Expression={Get-AzureRmResourceGroupDeployment -ResourceGroupName $_.ResourceGroupName |Select -Expand Timestamp}}

相关内容

最新更新