用于创建和管理 Azure 虚拟机的常用 PowerShell 命令

本文介绍一些可用于在 Azure 订阅中创建和管理虚拟机的 Azure PowerShell 命令。 若要获取特定命令行开关和选项的详细帮助,可以使用 Get-Help 命令

有关安装最新版 Azure PowerShell、选择订阅和登录到帐户的信息,请参阅如何安装和配置 Azure PowerShell

如果在本文运行多个命令,以下变量可能对你有用:

  • $location - 虚拟机的位置。 可以使用 Get-AzureRmLocation 查找适合地理区域
  • $myResourceGroup - 包含虚拟机的资源组的名称。
  • $myVM - 虚拟机的名称。

创建 VM - 简化

任务 命令
创建简单的 VM New-AzureRmVM -Name $myVM

New-AzureRMVM 有一组简化的参数,其中只需要一个名称即可。 -Name 的值将用作创建新 VM 所需的所有资源的名称。 你可以指定更多,但只需要这个。
从自定义映像创建 VM New-AzureRmVm -ResourceGroupName $myResourceGroup -Name $myVM ImageName "myImage" -Location $location

需要已创建自己的托管映像。 可以使用一个映像生成多个相同的 VM。

创建 VM 配置

任务 命令
创建 VM 配置 $vm = New-AzureRmVMConfig -VMName $myVM -VMSize "Standard_D1_v1"

VM 配置用于定义或更新 VM 的设置。 使用 VM 的名称及其大小对配置进行初始化。
添加配置设置 $vm = Set-AzureRmVMOperatingSystem -VM $vm -Windows -ComputerName $myVM -Credential $cred -ProvisionVMAgent -EnableAutoUpdate

包括凭据的操作系统设置会添加到以前使用 New-AzureRmVMConfig 创建的配置对象。
添加网络接口 $vm = Add-AzureRmVMNetworkInterface -VM $vm -Id $nic.Id

VM 必须使用网络接口在虚拟网络中通信。 还可使用 Get-AzureRmNetworkInterface 检索现有网络接口对象。
指定平台映像 $vm = Set-AzureRmVMSourceImage -VM $vm -PublisherName "publisher_name" -Offer "publisher_offer" -Skus "product_sku" -Version "latest"

映像信息会添加到以前使用 New-AzureRmVMConfig 创建的配置对象。 仅当将操作系统磁盘设置为使用平台映像时,才使用此命令返回的对象。
创建 VM New-AzureRmVM -ResourceGroupName $myResourceGroup -Location $location -VM $vm

所有资源在资源组中创建。 运行此命令之前,请运行 New-AzureRmVMConfig、Set-AzureRmVMOperatingSystem、Set-AzureRmVMSourceImage、Add-AzureRmVMNetworkInterface 和 Set-AzureRmVMOSDisk。
更新 VM Update-AzureRmVM -ResourceGroupName $myResourceGroup -VM $vm

使用 Get-AzureRmVM 获取当前 VM 配置,更改 VM 对象上的配置设置,并运行此命令。

获取有关 VM 的信息

任务 命令
列出订阅中的 VM Get-AzureRmVM
列出资源组中的 VM Get-AzureRmVM -ResourceGroupName $myResourceGroup

若要获取订阅中的资源组列表,请使用 Get-AzureRmResourceGroup
获取有关 VM 的信息 Get-AzureRmVM -ResourceGroupName $myResourceGroup -Name $myVM

管理 VM

任务 命令
启动 VM Start-AzureRmVM -ResourceGroupName $myResourceGroup -Name $myVM
停止 VM Stop-AzureRmVM -ResourceGroupName $myResourceGroup -Name $myVM
重启正在运行的 VM Restart-AzureRmVM -ResourceGroupName $myResourceGroup -Name $myVM
删除 VM Remove-AzureRmVM -ResourceGroupName $myResourceGroup -Name $myVM

后续步骤