我正在使用 Azure Powershell cmdlet 来启动/停止 VM。
Start-AzureVM [-ServiceName] <String> [-Name] <String> [ <CommonParameters>]
Stop-AzureVM [-ServiceName] <String> [-Name] <String> [[-StayProvisioned]] [[-Force]] [ <CommonParameters>]
是否有命令可以启动/停止特定订阅下的所有虚拟机而不是单个虚拟机?如果没有,我正在寻找一个脚本来为每个虚拟机并行多次运行上述代码。
最佳答案
Start-AzureVM 和 Stop-AzureVM 现在支持通配符,允许您并行启动/并行停止同一服务名称内的任何/所有 VM。在这里,您可以看到实际情况,我刚刚在单个服务中并行启动了几个虚拟机:
现在:如果您想要整个订阅中的所有虚拟机,您始终可以枚举所有服务命名空间,然后启动其中的虚拟机。这是一个例子 - 根据您的需要,针对特定的数据中心等进行调整。
枚举服务示例:
Get-AzureService | Select ServiceName
现在要对此做一些事情,而不仅仅是列出服务:
Get-AzureService | Foreach-Object { Start-AzureVM -ServiceName $_.ServiceName -Name "*" }
注意:我没有测试最后一个,因为我不想启动所有虚拟机,但类似的东西应该适合您批量“在我的订阅中的每个服务中启动单个虚拟机”。 ”
关于powershell - 启动/停止特定订阅下的所有虚拟机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20587147/