powershell - 启动/停止特定订阅下的所有虚拟机

标签 powershell azure azure-virtual-machine azure-powershell

我正在使用 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。在这里,您可以看到实际情况,我刚刚在单个服务中并行启动了几个虚拟机:

Calling Start-AzureVM

Parallel operation, seen in portal

现在:如果您想要整个订阅中的所有虚拟机,您始终可以枚举所有服务命名空间,然后启动其中的虚拟机。这是一个例子 - 根据您的需要,针对特定的数据中心等进行调整。

枚举服务示例:

Get-AzureService | Select ServiceName

现在要对此做一些事情,而不仅仅是列出服务:

Get-AzureService | Foreach-Object { Start-AzureVM -ServiceName $_.ServiceName -Name "*" }

注意:我没有测试最后一个,因为我不想启动所有虚拟机,但类似的东西应该适合您批量“在我的订阅中的每个服务中启动单个虚拟机”。 ”

关于powershell - 启动/停止特定订阅下的所有虚拟机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20587147/

相关文章:

powershell - 导出csv仅吐出长度

sql-server - Azure 上的 SQL Server 数据库大小限制,该怎么办?

python - 以编程方式在azure VM内执行脚本

powershell - 如何检查 SYSTEM 环境变量是否存在?

azure - 由 Azure RM 运行时,任务完成后输出文件不会自动上传到存储容器

powershell - 在 PowerShell 中,如何组合具有一对一关系的两个命令的结果?

c# - Cake(http ://cakebuild.net)可以用于部署 Azure WebApps

azure - 如何查看最近发送到服务总线队列中的消息?

azure - 如何在 Azure Analytics Log 上从 AzureVM 获取应用程序日志

azure - VM 在处理扩展 AzureDiskEncryption 时报告失败