1

我正在尝试使用 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    
        }
    }
}

有没有其他人有这个问题?

4

0 回答 0