使用PowerShell更改Azure VM使用的OS磁盘

时间:2019-01-24 16:42:37

标签: azure powershell azure-virtual-machine

我正在尝试换出Azure VM上的OS磁盘。该磁盘是托管磁盘,我将其替换为的磁盘是托管磁盘。我按照在PS中执行此操作的几个文档中找到的说明进行操作。

https://azure.microsoft.com/en-us/blog/os-disk-swap-managed-disks/

我收到以下消息,让我相信它已成功完成。

RequestId IsSuccessStatusCode StatusCode ReasonPhrase
--------- ------------------- ---------- ------------
                         True         OK OK          

这是我正在使用的PS代码:

$vm = Get-AzureRmVM -ResourceGroupName rgname -Name vmname 
Stop-AzureRmVM -ResourceGroupName rgname -Name $vm.Name -Force
$disk = Get-AzureRmDisk -ResourceGroupName rgname -Name newosdiskname 
Set-AzureRmVMOSDisk -VM $vm -ManagedDiskId $disk.Id -Name $disk.Name 
Update-AzureRmVM -ResourceGroupName rgname -VM $vm

那为什么不起作用?

2 个答案:

答案 0 :(得分:0)

作为文档中的描述,您可以将现有VM的OS磁盘替换为托管OS磁盘。因此,替换磁盘必须是OS磁盘,并且您也无法检测OS类型,例如,从Linux到Windows。

您使用的PowerShell代码在我这边工作正常,结果的屏幕截图显示如下:

enter image description here

我认为此功能用于替换备份OS磁盘。因此,最好使用OS磁盘的备份托管磁盘进行替换。

答案 1 :(得分:0)

无法通过PS使用此功能。我可以通过CLI轻松地做到这一点。