In this post you will find code snippet to migrate your classic Azure VMs that is part of virtual networks. That is, you will learn Migrating Azure VMs on VNet from Azure Service Management (Classic or ASM) to Azure Resource Manager (Resource Manager or ARM). Without too much discussion, let's start step by step.
You need to have PowerShell installed. In the process of migration you first need to sign in your subscription using modern way that is ARM to prepare migration and then sign in your same subscription using classic approach that is ASM to perform migration and commit.
Let's login ARM
Store subscription id into a variable
$SubID = "1345e4-4561-1bd7-55c1-e3848012qw4r" Step 3.
Select subscription using above variable
Select-AzureRmSubscription -SubscriptionID $SubID
Now, let's prepare the migration on ARM, this operation may take few minutes.
Then, select the subscription using subscription id that we stored in variable above.
Select-AzureSubscription -SubscriptionID $SubID
Now, let's get virtual network name that we will in next step.
Get-AzureVNetConfig -ExportToFile "C:\Users\Abhimanyu K Vatsa\Desktop\VNetConfig.xml"
Now you copy the value of VirtualNetworkSite name="demo-vnet-name"
Store the virtual network name in a variable. Remember, we are migrating virtual network that will automatically migration everything that is associated with this network, including network itself, vms, storage, load-balancer, subnet, nic etc.
$VNetName = "demo-vnet-name"
Let's run most powerful command that prepares the move and it may take few minutes.
If you login to portal now, you will notice a new resource group is create with same name but -Migrated as post-fix. Don't worry, if you see everything doubled. Because these are exact same copy of your resources that was in classic. Once you run commit command (given below) your all classic resources will be removed and you will have migrated resources on ARM and every thing working as it was working earlier. Note, this operation may also take some time.