Skip to content

How to Automate a Dynamics NAV Azure Migration

Your current NAV system might be running in a virtual environment in Azure using session-based hosting through Remote Desktop Services (RDS). Since July 1st, Microsoft officially changed Windows Azure licensing terms to allow the use of RDS on Windows Azure virtual machines, which is great news for many organizations. After evaluating the benefits of migrating your NAV VM to Windows Azure, your organization has decided to make the move.


Below, I outline the steps to automate the migration of a Dynamics NAV Virtual Machine (VM) to Windows Azure using PowerShell script.


It is important to note that Windows Azure supports the Windows OS platform starting from Windows Server 2008 R2. If your NAV is still running on Windows 2003 R2 or lower, it will not be supported by Windows Azure.  

Dynamics NAV Azure Migration Steps

Step 1: Migration assessment

  • VHD size – the VM has one VHD, about 80GB, not too large to upload, depending on your internet upload speed, it might take about 1-2 days to upload.
  • Active Directory – the VM is a standalone server and not joining any domain, so there is no need to setup the virtual network
  • Integration – If there are any integration points to other systems, it is necessary to investigate if the IP address or FQDN of the server changes will have any impact.

Ensure the Remote Desktop is enabled and the Windows Firewall is configured to allow remote desktop connections.

Step 2: Prepare VHD for migration

  • Install the latest Windows updates
  • Convert it to VHD format if it’s VHDX
  • Convert it to fixed size format VHD if it’s dynamic

Step 3: Prepare Windows Azure account

Sign up for a Windows Azure trial HERE first for testing. You can always apply your subscription later on.


Follow the instructions HERE to create a storage account. This, too, can be automated by running the PowerShell script below if you’ve configured PowerShell for Windows Azure.

New-AzureStorageAccount -Location "West US" -StorageAccountName CompanyNameStorage01

Step 4: Configure PowerShell for Windows Azure

Download and install the Windows Azure PowerShell Module by following the instructions HERE


Run PowerShell ISE as administrator.

Run as Administrator - Azure

In PowerShell ISE, run the following commands to connect to your Windows Azure subscription account.

Set-ExecutionPolicy RemoteSigned -force
Import-Module Azure
# it will bring you to the Windows Azure subscription page in your browser, after you've signed in, the Azure subscription file will be generated and be downloaded.
Azure Subscription
Import-AzurePublishSettingsFile "D:AzureFree Trial-11-9-2013-credentials.publishsettings"  # replace D:AzureFree Trial-11-9-2013-credentials.publishsettings with your actual subscription settings file

Step 5: Run PowerShell script to provision VM and upload the VHD

# your storage account  
$StorageAccountName = "CompanyNameStorage01"
# your source VHD location 
$vhdsource = 'D:AzureCompanyNameCompanyNameNAV.vhd'
# your upload location  
$vhddestination= 'https://' + $StorageAccountName + ''
Add-AzureVhd -LocalFilePath $vhdsource -Destination $vhddestination # this will take a long time depending on your internet upload speed
Add-AzureDisk -OS Windows -MediaLocation $vhddestination -DiskName 'CompanyNameNAVDisk'
# Create VM 
New-AzureVMConfig -Name CompanyNameNAV -DiskName 'CompanyNameNAVDisk' -InstanceSize 'Large' | New-AzureVM -ServiceName "CompanyNameNAV" -Location "West US"
# Add RDP endpoint (use the standard port 3389) 
Get-AzureVM -servicename 'CompanyNameNAV' -name 'CompanyNameNAV' | Add-AzureEndpoint -Name 'RDP' -Protocol tcp  -LocalPort 3389 -PublicPort 3389 | Update-AzureVM

Once it’s been successfully run, log into the Windows Azure Management Portal and download the RDP connection file to test the VM on Windows Azure.

Azure - RDP Connection File

Accessing NAV on Azure

Now, your users just need to point to the new URL/IP address to access to the VM, everything else stays the same.

What if my current NAV is not running on a Hyper-V VM?

If you want to give it a try, you can first convert the physical disk to a VHD by using the DiskToVHD tool from Windows Sysinternals. It works for converting the vmdk to vhd as well if your NAV is running on a VMWare infrastructure.


Considering the impact that a change like this can have on your organization, migrating NAV to Windows Azure is a relatively straightforward process. For a full recap of the benefits of moving NAV to Azure, refer to my previous post.

Please note that all the scripts above are generic and are intended for demonstration purposes only. The above must be adjusted to your own Azure environment before they will be effective.

Register to receive the latest Dynamics 365 Insights

Our proven Success Framework minimizes risk and promotes alignment to results

Explore how Catapult has helped hundreds of businesses successfully adopt cloud solutions and achieve the result they’re looking for.

  • Icon


  • Icon


  • Icon


  • Icon

    Level Up

Achieve out of this world results

Our easy-to-navigate Success Framework guides our customers through four critical stages that build towards successful adoption of a tailor made Dynamics 365 business solution


Catapult Leadership

Get real with your stakeholders, and engage partners in frank, open conversations about the real priorities and creative strategies for achieving the most valued outcomes.

Elliot Fishman, CEO