Одним из способов было бы использование заданий, что-то вроде этого (набросок):
"vm1","vm2","vm3" | Foreach-Object {
Start-Job -ScriptBlock {
Remove-AzureRMVMCustomScriptExtension -ResourceGroupName xxx -VmName $using:PSItem -Name extensionname -Force
}
}
вышеописанное будет работать, если у вас включена функция azurermcontextautosave. Шаблоны ARM не способны удалить пользовательское расширение скрипта, вы можете поэкспериментировать с режимом Complete
, но это немного опасно.
Но, честно говоря, вам просто нужно использовать forceUpdateTag
, чтобы принудительно запустить расширение повторно, не удаляя его