Skip to content


A How-to Guide: RDS to Azure Virtual Desktop Migration Walkthrough

This article is for two types of partners. First, those who aren’t sure about the Azure/Cloud space and want to load up an RDS environment initially due to familiarity, but may consider migrating to Azure Virtual Desktop (AVD) down the road. Second, it’s for existing Nerdio partners who already have an RDS environment and are interested in transitioning to the AVD side (see note at the end of this article).

Nerdio has developed an easy and automated process for transitioning partner from a current RDS deployment to AVD. That being said, there are a few things to consider and some prerequisite steps that should be taken. This article will walk through the entire RDS to AVD migration process from start to finish.


The migration from RDS to AVD is designed to be as seamless as possible. As a result, no existing servers will get destroyed, and only additions are made to specific VMs (namely DC01 & FS01). Not even a reboot is performed on any of the severs. In theory, this migration could take place during standard work hours without any disruption to end the user (obviously this is not advised, but it’s possible in theory).

The migration process is broken into four phases:

  1. Environment Preparation
  2. Server Migration
  3. Infrastructure Configuration & User Migration
  4. Environment Cleanup

Phase 1: Environment Preparation

Due to the nature of the backend automation taking place during this process, we advise that everything is as clean as possible in the environment before the migration kicks off. This means running updates on the servers (primarily DC01 & FS01), checking the Event Logs to make sure everything is healthy, and reviewing the Nerdio Admin Portal (NAP) logs to make sure there aren’t any lingering issues (also known as AD Cache failing to sync).

We also recommend creating a test user on the RDS side. Make sure this user has the resources and licensing necessary to simulate standard user activity in the environment. In Phase 3, this user should be the first one to migrate over to the AVD side. This test user can then verify things like applications, printers/scanners, folder redirects, etc., are all working as expected before live users are migrated over.

Phase 2: Server Migration

This is the actual migration part of the process where the Nerdio scripts get ran. Reach out to Nerdio by emailing to schedule this piece of the migration.

Once a date and time have been set, the Nerdio team will launch the migration and manage this phase. On average, this phase will take 1-3 hours. Once Phase 2 is complete, there’s no going back to the RDS side. As a result it’s important to ensure users & resources that need to be built on the RDS side have been built before the switch. This is especially true if Phase 3 is intended to take a few weeks. Let’s say there is a new employee of the company that will need to work on the RDS side while the AVD side is getting configured. Add this user before the migration so there’s no disruption to workflow.

Phase 3: Infrastructure Configuration & User Migration

After the migration script has completed, the most notable change to the environment will be the additional Golden Image for the AVD side, along with an option to create AVD pools. All old RDS infrastructure will still be intact and working as expected. User will still be able to login and execute their regular task just like they did before the migration.

The next step is to configure the AVD side of things. This includes configuring the AVD Golden Image (this will be brand new and is not cloned from the RDS Golden Image), creating a AVD pool, and configuring the WVD pool template. Once the pool(s) are dialed in and ready to go, bring over the test user and assign it to the AVD resources to verify standard workflow and the correct configuration.

As long as the test user is working as expected, it’s safe to begin migrating live users. We recommend keeping the first group fairly small (5-10 users) and have them in the environment for at least 2-3 days without any issues before moving the next group over. One thing to keep in mind is that the UPDs for each user will not get migrated over from the RDS to AVD side as part of this process. It’s very important to have users save their data (we usually see partners leverage OneDrive or File Shares for this) and once they get assigned to the AVD side, the data can be loaded in their AVD environments, documents, & favorites folders.

Once all users have been migrated to the AVD side and everything is working as expected, you’re ready for Phase 4.

Phase 4: Environment Cleanup

The environment cleanup phase involves removing all the old RDS resources. This includes things like the RDS Collections, RD Gateway & Connection Broker — and the RDS Golden Image can be deleted. This ensures that no Azure spend is charged for these resources, especially since they will be obsolete in the new AVD environment. Once all the resources have been cleared out, simply update the Nerdio ticket for this case and the Nerdio team will run the command to mark the account as officially migrated to AVD. This will conclude the cleanup process and the migration from RDS to WVD will be complete.

Final Thoughts

That’s it. Overall, it’s not too complicated and the average time allotment we see partners apply for this is one to two weeks — however, that obviously varies depending on the environment size. Due to the permanence of this migration, we advise partners to consider all factors involved before going down this path. This is especially true if the client utilizes proprietary applications that were configured for RDS and may not have been tested in a Windows 10 native environment.

* Note: We cannot take an existing Azure RDS environment that was configured outside the Nerdio orchestration, apply Nerdio to that environment, and then transition it to AVD. This only applies to RDS deployments configured through Nerdio.


Multi-Cloud and On-Premises Deployment with Azure Stack HCI (Coming Soon)

Deploy Azure Virtual Desktop in Azure and extend the session host VM placement to on-premises and other cloud using Azure Stack HCI. Nerdio Manager automates deployment of session hosts, AVD agent installation, and full integration into the AVD deployment in Azure.

Create a brand new Azure Virtual Desktop environment or allow Nerdio Manager to discover an existing deployment, connecting to existing resources, and manage them.

Deploy Nerdio Manager from Azure Marketplace and configure a new AVD environment with an easy to follow, step-by-step configuration wizard. First group of users can access their AVD desktop in less than 2 hours.

Service providers, system integrators, and consultants can leverage Nerdio Manager’s scripted AVD deployment template. Create complete environments with desktop images, host pools, and auto-scaling in minutes.

Create and manage AVD environments that span Azure regions and subscriptions. Quickly link Vnets and resource groups and manage AVD deployments world-wide from unified portal.

Link multiple Azure tenants under the same Nerdio Manager instance and manage AVD deployments that span Azure AD tenants. User identities and session host VMs can run in separate tenants for maximum flexibilty and security.

Deploy and manage AVD environments that span across sovereign Azure Clouds. Cross-sovereign cloud support allows identity (e.g. users and groups) to be in one Azure Cloud, while session host VMs are in another Azure Cloud.

Management of workspaces, host pools, app groups, RemoteApps & custom RDP settings

Administer every aspect of AVD with Nerdio Manager including workspaces, host pools, application groups, RemoteApp publishing, RDP properties, session time limits, FSLogix, and much, much more. Every Azure service that AVD relies on can be managed with Nerdio Manager.

Deploy and manage AVD session host VMs. Hosts can be created manually or with auto-scaling, deleted on-demand or on a schedule, re-imaged to apply updates, run a scripted action, resized, put into or taken out of drain mode, and more.

Manage user sessions across the entire AVD environment, within a workspace, host pool or on a single host. Monitor session status, disconnect or log off the user, shadow or remote control to provide support, or send user an on-screen message.

End users have the ability to log into Nerdio Manager with their Azure AD credentials and manage their own session, restart their desktop VM, or start a session host if none are started in a host pool. (Ability to resize and re-image own desktop is coming soon.)

Create, link, and manage Azure Files shares including AD domain join. Synchronize Azure Files permissions with host pools, configure quotas, and enable SMB multi-channel. Manage file lock handles and configure Azure Files auto-scaling to increase quota as needed.

Create, link, and manage Azure NetApp Files accounts, capacity pools and volumes. Configure provisioned volume size, monitor usage, and use auto-scaling to automatically adjust volume and capacity pool size to accommodate the needed capacity and latency requirements.

FSLogix configuration can be complex and overwheling, but not with Nerdio Manager. Create one or more FSLogix profiles with all the needed options, point at one or more Azure Files, Azure NetApp Files, or server locations and select from VHDLocations, CloudCache and Azure Blob storage modes.

Multiple identity source profiles can be set up and used automatically on different host pools. Active Directory, Azure AD DS, and Native Azure AD are all supported. Choose the appropriate directory profile when adding a host pool and all VMs will automatically join this directory when being created.

Create a copy of a host pool with all of its settings: auto-scale config, app groups and RemoteApps, MSIX AppAttach, user/group assignments, VM deployment settings, etc. Save time by creating host pool “templates” that can be cloned to any Workspace, Azure region or subscription instead of starting from scratch.

Apply user session time limits at host pool level. Automatically log off disconnected sessions, limit the duration of idle sessions, control empty RemoteApp session behavior and more.

Assign Azure AD users to personal desktops to ensure the user will log into a pre-configured VM. Un-assign personal desktops from users who leave the organization and re-use these VMs for new users.

Pre-configure custom Azure tags for all Azure resources associated with each host pool. Tags can be used for charge-back and cost allocation by host pool.

When creating session hosts using NV-series VMs NVIDIA and AMD GPU drivers are automatically installed.

Move existing host pools from Fall 2019 (Classic) object model to Spring 2020 (ARM) object model. Choose to whether to move or copy user assignments. Existing session hosts are automatically migrated or new ones can be created in the ARM host pool.

Automatically enable and configure AVD integration with Azure monitor. Zero configuration required. Azure Monitor Insights for AVD can be used instead of or in conjunction with Sepago Monitor.

AVD personal desktops to Windows 365 Cloud PC migration (Coming Soon)

Migrate users from AVD personal desktops to Windows 365 Enterprise Cloud PCs using an existing image and user assignment. (Coming soon)


Cloud PC License Usage Optimization (Coming Soon)

Cloud PC device lifecycle management

Cloud PC user group assignment

Intune primary user management on Cloud PCs

Migrate AVD personal desktops to Cloud PCs (Coming Soon)

Get Certified