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

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

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

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

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

创建 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 = Set-AzureRmVMOSDisk -VM $vm -Name "myOSDisk" -VhdUri "http://mystore1.blob.core.chinacloudapi.cn/vhds/myOSDisk.vhd" -CreateOption FromImage

操作系统磁盘的名称以及它在存储中的位置会添加到以前创建的配置对象。
设置要使用一般化映像的操作系统磁盘 $vm = Set-AzureRmVMOSDisk -VM $vm -Name "myOSDisk" -SourceImageUri "https://mystore1.blob.core.chinacloudapi.cn/system/Microsoft.Compute/Images/myimages/myprefix-osDisk.{guid}.vhd" -VhdUri "https://mystore1.blob.core.chinacloudapi.cn/vhds/disk_name.vhd" -CreateOption FromImage -Windows

操作系统磁盘的名称、源映像的位置,以及磁盘在存储中的位置会添加到以前创建的配置对象。
设置要使用特殊化映像的操作系统磁盘 $vm = Set-AzureRmVMOSDisk -VM $vm -Name "myOSDisk" -VhdUri "http://mystore1.blob.core.chinacloudapi.cn/vhds/" -CreateOption Attach -Windows
创建 VM New-AzureRmVM -ResourceGroupName $myResourceGroup -Location $location -VM $vm

所有资源在资源组中创建。 运行此命令之前,请运行 New-AzureRmVMConfig、Set-AzureRmVMOperatingSystem、Set-AzureRmVMSourceImage、Add-AzureRmVMNetworkInterface 和 Set-AzureRmVMOSDisk。

获取有关 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
对 VM 进行一般化 Set-AzureRmVm -ResourceGroupName $myResourceGroup -Name $myVM -Generalized

在运行 Save-AzureRmVMImage 之前运行此命令。
捕获 VM Save-AzureRmVMImage -ResourceGroupName $myResourceGroup -VMName $myVM -DestinationContainerName "myImageContainer" -VHDNamePrefix "myImagePrefix" -Path "C:\filepath\filename.json"

虚拟机必须准备就绪、关闭并通用化才能用于创建映像。 运行此命令之前,请运行 Set-AzureRmVm。
更新 VM Update-AzureRmVM -ResourceGroupName $myResourceGroup -VM $vm

使用 Get-AzureRmVM 获取当前 VM 配置,更改 VM 对象上的配置设置,并运行此命令。
将数据磁盘添加到 VM Add-AzureRmVMDataDisk -VM $vm -Name "myDataDisk" -VhdUri "https://mystore1.blob.core.chinacloudapi.cn/vhds/myDataDisk.vhd" -LUN # -Caching ReadWrite -DiskSizeinGB # -CreateOption Empty

使用 Get-AzureRmVM 获取 VM 对象。 指定 LUN 号和磁盘大小。 运行 Update-AzureRmVM 将配置更改应用到 VM。 添加的磁盘未进行初始化。
从 VM 中删除数据磁盘 Remove-AzureRmVMDataDisk -VM $vm -Name "myDataDisk"

使用 Get-AzureRmVM 获取 VM 对象。 运行 Update-AzureRmVM 将配置更改应用到 VM。
将扩展添加到 VM Set-AzureRmVMExtension -ResourceGroupName $myResourceGroup -Location $location -VMName $myVM -Name "extensionName" -Publisher "publisherName" -Type "extensionType" -TypeHandlerVersion "#.#" -Settings $Settings -ProtectedSettings $ProtectedSettings

使用要安装的扩展的相应配置信息运行此命令。
删除 VM 扩展 Remove-AzureRmVMExtension -ResourceGroupName $myResourceGroup -Name "extensionName" -VMName $myVM

后续步骤