我正在尝试从PowerShell工作流Runbook重新创建一组虚拟机(基于现有的操作系统磁盘)。我遇到的问题是我需要在并行执行块中创建安全上下文,这总是会失败。我收到运行“Login-AzureRmAccount”的消息,我已经尝试使用
$Conn = Get-AutomationConnection -Name AzureRunAsConnection
Add-AzureRMAccount -ServicePrincipal -Tenant $Conn.TenantID -ApplicationId $Conn.ApplicationID -CertificateThumbprint $Conn.CertificateThumbprint
我有一个Runbook受到启发的现有脚本,这与使用PowerShell作业并行化的事实不同,它使用保存在磁盘上的配置文件来设置作业脚本块中的安全上下文(运行在一个单独的过程中。)
所以基本上,如果有人能够确认这可以从并行执行块中获得,那么我会帮助很多,如果有的话,如何继续。
由于
答案 0 :(得分:0)
您是否需要在foreach循环迭代中使用不同的连接?我不认为Add-AzureRmAccount是为同一个Runbook中的并发执行而设计的......如果你需要所有的foreach循环迭代来使用相同的连接,那么显而易见的解决方案是在进入循环之前执行Add-AzureRmAccount 。但是,如果您确实需要不同的连接,请考虑其他并行执行的方法:例如,生成单独的自动化作业。