将 Windows VM 移到其他 Azure 订阅或资源组

来源:互联网 发布:mc721安装windows 编辑:程序博客网 时间:2024/05/17 03:16

本文逐步说明如何在资源组或订阅之间移动 Windows VM。 如果最初在个人订阅中创建了 VM,现在想要将其移到公司的订阅以继续工作,则在订阅之间移动 VM 可能很方便。

Important

不可在此时移动托管磁盘。

在移动过程中将创建新的资源 ID。 移动 VM 后,需要更新工具和脚本以使用新的资源 ID。

使用门户将 VM 移到其他订阅

可以使用门户将 VM 及其关联的资源移到其他订阅。

  1. 打开 Azure 门户。
  2. 单击“浏览” > “虚拟机”,然后从列表中选择要移动的 VM。

    “基本功能”部分的屏幕截图,其中你单击铅笔图标以打开“移动资源”边栏选项卡。

  3. 在“基本功能”部分,单击订阅名称旁边的“更改订阅”铅笔图标。 此时将打开“移动资源”边栏选项卡。

    “移动资源”边栏选项卡的屏幕截图。

  4. 选择要移动的每个资源。 大多数情况下,应移动列出的所有可选资源。
  5. 选择要将 VM 移到的 订阅 。
  6. 选择一个现有资源组,或者键入名称以创建新的资源组。
  7. 完成后,选择你了解将创建新的资源 ID 并且移动后需要将这些资源 ID 用于 VM,然后单击“确定”。

使用门户将 VM 移到其他资源组

可以使用门户将 VM 及其关联的资源移到其他资源组。

  1. 打开 Azure 门户。
  2. 单击“浏览” > “资源组”,然后选择包含 VM 的资源组。
  3. 从“资源组”边栏选项卡上的菜单中选择“移动”。

    “资源组”菜单中的“移动”按钮屏幕截图。

  4. 在“移动资源”边栏选项卡中,选择要移动的资源,然后键入现有资源组名称,或选择创建新资源组。 完成后,选择你了解将创建新的资源 ID 并且移动后需要将这些资源 ID 用于 VM,然后单击“确定”

    “移动资源”边栏选项卡的屏幕截图。

使用 PowerShell 移动 VM

若要将虚拟机移到其他资源组,需确保同时移动所有依赖资源。 若要使用 Move-AzureRMResource cmdlet,需要资源的名称和类型。 可以通过 Find-AzureRMResource cmdlet 获取这两项信息。

Find-AzureRMResource -ResourceGroupNameContains "<sourceResourceGroupName>"

若要移动 VM,需要移动多个资源。 只需分别创建每个资源的变量,然后列出这些变量即可。 本示例包括 VM 的大多数基本资源,但可以根据需要添加更多资源。

$sourceRG = "<sourceResourceGroupName>"$destinationRG = "<destinationResourceGroupName>"$vm = Get-AzureRmResource -ResourceGroupName $sourceRG -ResourceType "Microsoft.Compute/virtualMachines" -ResourceName "<vmName>"$storageAccount = Get-AzureRmResource -ResourceGroupName $sourceRG -ResourceType "Microsoft.Storage/storageAccounts" -ResourceName "<storageAccountName>"$diagStorageAccount = Get-AzureRmResource -ResourceGroupName $sourceRG -ResourceType "Microsoft.Storage/storageAccounts" -ResourceName "<diagnosticStorageAccountName>"$vNet = Get-AzureRmResource -ResourceGroupName $sourceRG -ResourceType "Microsoft.Network/virtualNetworks" -ResourceName "<vNetName>"$nic = Get-AzureRmResource -ResourceGroupName $sourceRG -ResourceType "Microsoft.Network/networkInterfaces" -ResourceName "<nicName>"$ip = Get-AzureRmResource -ResourceGroupName $sourceRG -ResourceType "Microsoft.Network/publicIPAddresses" -ResourceName "<ipName>"$nsg = Get-AzureRmResource -ResourceGroupName $sourceRG -ResourceType "Microsoft.Network/networkSecurityGroups" -ResourceName "<nsgName>"Move-AzureRmResource -DestinationResourceGroupName $destinationRG -ResourceId $vm.ResourceId, $storageAccount.ResourceId, $diagStorageAccount.ResourceId, $vNet.ResourceId, $nic.ResourceId, $ip.ResourceId, $nsg.ResourceId

若要将资源移到其他订阅,请包含 -DestinationSubscriptionId 参数的值。

Move-AzureRmResource -DestinationSubscriptionId "<destinationSubscriptionID>" -DestinationResourceGroupName $destinationRG -ResourceId $vm.ResourceId, $storageAccount.ResourceId, $diagStorageAccount.ResourceId, $vNet.ResourceId, $nic.ResourceId, $ip.ResourceId, $nsg.ResourceId

系统会要求你确认你需要移动指定资源。 请键入 Y 确认要删除资源。

后续步骤

可以在资源组和订阅之间移动许多不同类型的资源。 有关详细信息,请参阅将资源移到新资源组或订阅。

阅读全文
0 0
原创粉丝点击