我正在使用Azure Powershell cmdlet来启动/停止VM。
Start-AzureVM [-ServiceName] <String> [-Name] <String> [ <CommonParameters>]
Stop-AzureVM [-ServiceName] <String> [-Name] <String> [[-StayProvisioned]] [[-Force]] [ <CommonParameters>]
是否有命令启动/停止特定订阅下的所有VM而不是单个VM?如果没有,我正在寻找一个脚本来为每个VM并行多次并行运行代码。
答案 0 :(得分:2)
Start-AzureVM和Stop-AzureVM现在支持通配符,允许您并行启动/并行停止同一服务名称中的任何/所有VM。在这里,您可以看到这一点,我在一个服务中并行启动了几个虚拟机:
现在:如果您想要整个订阅中的所有虚拟机,您可以始终枚举所有服务命名空间,然后启动其中的虚拟机。这是一个例子 - 根据您的需要调整它,对于特定的数据中心等。
枚举服务的示例:
Get-AzureService | Select ServiceName
现在要做一些事情,而不仅仅是列出服务:
Get-AzureService | Foreach-Object { Start-AzureVM -ServiceName $_.ServiceName -Name "*" }
注意:我没有测试最后一个,因为我不想启动我的所有虚拟机,但是这样的东西应该适合你作为批量“在我的订阅中的每个服务中启动单个虚拟机。 “
答案 1 :(得分:0)
非常正确 - 启动 - AzureVM和Stop-AzureVM现在支持通配符,允许您并行启动/并行停止同一服务名称中的任何/所有VM。
根据问题启动/停止特定订阅下的所有VM都是不可能的。但是,可以启动/停止特定服务名称下的所有VM。
Start-AzureVM -ServiceName&#34; sa12345&#34; 将在服务名称sa12345
下启动所有azure vms