我正在尝试使用 Azure Runbook 启动具有指定标记的虚拟机。我使用 powershell 工作流程,所以我可以并行启动它们。
下面的代码有效,但它总是在启动一台随机虚拟机时出现问题。这是一个例外:
Start-AzureRmVM : 集合已修改;枚举操作可能无法执行。
CategoryInfo : CloseError: (:) [Start-AzureRmVM], InvalidOperationException
我认为 $TaggedResourcesList = @($Resources)
会枚举列表并允许修改?
workflow StartUpParallel
{
$Resources = Find-AzureRmResource -TagName Startup -TagValue PreWork
$TaggedResourcesList = @($Resources)
Foreach -Parallel ( $vm in $TaggedResourcesList )
{
if($vm.ResourceType -eq "Microsoft.Compute/virtualMachines")
{
Start-AzureRmVM -ResourceGroupName $vm.ResourceGroupName -Name $vm.Name
}
}
}
有没有其他人有这个问题?