RunBook中并行foreach语句中的凭据

时间:2017-05-18 10:45:36

标签: azure-automation

我正在尝试从PowerShell工作流Runbook重新创建一组虚拟机(基于现有的操作系​​统磁盘)。我遇到的问题是我需要在并行执行块中创建安全上下文,这总是会失败。我收到运行“Login-AzureRmAccount”的消息,我已经尝试使用

$Conn = Get-AutomationConnection -Name AzureRunAsConnection 
Add-AzureRMAccount -ServicePrincipal -Tenant $Conn.TenantID -ApplicationId $Conn.ApplicationID -CertificateThumbprint $Conn.CertificateThumbprint

我有一个Runbook受到启发的现有脚本,这与使用PowerShell作业并行化的事实不同,它使用保存在磁盘上的配置文件来设置作业脚本块中的安全上下文(运行在一个单独的过程中。)

所以基本上,如果有人能够确认这可以从并行执行块中获得,那么我会帮助很多,如果有的话,如何继续。

由于

1 个答案:

答案 0 :(得分:0)

您是否需要在foreach循环迭代中使用不同的连接?我不认为Add-AzureRmAccount是为同一个Runbook中的并发执行而设计的......如果你需要所有的foreach循环迭代来使用相同的连接,那么显而易见的解决方案是在进入循环之前执行Add-AzureRmAccount 。但是,如果您确实需要不同的连接,请考虑其他并行执行的方法:例如,生成单独的自动化作业。