This post has been republished via RSS; it originally appeared at: New blog articles in Microsoft Tech Community.
While this post will focus on new Microsoft Azure tools that will help you migrate Remote Desktop Services (RDS) and Virtual Desktop Infrastructure (VDI) environments to Windows Virtual Desktop, I’d like to start by thanking everyone that has adopted Windows Virtual Desktop since we announced general availability on September 30, 2019!
At Microsoft Ignite in November, we announced new features as well as new Azure capabilities that enable you to migrate existing virtual desktop workloads to Microsoft Azure—as part of Windows Virtual Desktop. Whether you are working with a greenfield scenario (i.e. building a new environment from the ground up) or a brownfield scenario (i.e. transforming existing RDS resources and Windows 10 single-session virtual machines), I hope you find that the information and links in today’s post help you kickstart (or progress) your Windows Virtual Desktop implementation. Here’s what I’ll cover:
- Why use Windows Virtual Desktop instead of Remote Desktop Services
- Azure Migrate (and our partnership with Lakeside)
- Azure Migrate: Server Migration
- An overview of the migration process
- Migrating existing user profile disk (UPD) profiles to Microsoft FSLogix Profile Containers
- Making existing RDS or VDI hosts available for Windows Virtual Desktop
Why use Windows Virtual Desktop instead of Remote Desktop Services
The transformation from a traditional RDS and VDI environment to Windows Virtual Desktop offers several benefits:
- Microsoft manages the brokering platform as a service.
- Windows 10 Enterprise multi-session capabilities, including free Windows 7 Extended Security Updates (ESU) until 2023.
- Linux rate benefits.
- Optimized support for Office365 ProPlus (via FSLogix Profile Container integration).
- Support for workloads on Azure and via Azure Stack Hub as well as infrastructure services on-premises via ExpressRoute and S2S VPN connectivity (Did you know WVD is now part of the ExpressRoute Microsoft internal peering?)
- The ability to “lift and shift” personal desktops via Azure Migrate and Azure Migrate: Server Migration.
Azure Migrate is a free Azure service that helps you leverage Azure infrastructure-as-a-service (IaaS) most efficiently. While you might recall reading about Azure Migrate in relation to server, database, and application workloads, Azure Migrate now also supports virtual desktop workloads.
While Azure Migrate is not required for RDS and VDI migrations (you can use your own assessment and migration tools), it does offer:
- Assessments for readiness, sizing, and cost estimation
- Migration with near-zero downtime
- An Integrated experience with end-to-end progress tracking
- Your choice of tools with ISV integration (Lakeside - SysTrack)
For guidance on how to use Azure Migrate for your (Windows) Virtual Desktop workloads, see Add assessment tools.
Lakeside ISV partner assessment integration
Our Windows Virtual Desktop partner ecosystem is very broad. To accelerate your VDI migration to Azure, we rely on our partner Lakeside, an independent software vendor (ISV) and known name in the VDI monitoring and analytics industry, who is integrated into our Azure Migrate process.
Lakeside uses their SysTrack diagnostic data to provide a scoring assessment for your virtual desktop workload before you begin migrating your workloads to Azure. During this process, you receive detailed information about the suggested resources (and costs) to use per user session for Windows 10 Enterprise and as well as Windows 10 Enterprise multi-session scenarios.
To learn more about the integration of Azure Migration with Lakeside, see Digital experience monitoring for Windows, or watch our Microsoft Ignite session, Accelerate your RDS and VDI migration to Windows Virtual Desktop, where we also demonstrated the integration with Lakeside SysTrack.
Azure Migrate: Server Migration
As noted above, Azure Migrate is a migration service that provides a smooth “lift and shift” option for Azure, much of which is accomplished via Azure Migrate: Server Migration. Officially, this service on Azure was used as Disaster Recovery (as-a-Service) solution to support failover workloads to Microsoft Azure so that you can failover to Azure and not failback.
Server Migration uses a management server that remains a replication server in your on-premises, physical, or AWS/Google Cloud environment. The management server replicates the specific drives of the virtual machines to your Azure storage blob account. After you start the migration process, virtual machines in your Azure IaaS environment will be created.
Windows Virtual Desktop migration overview
Before we can jump into how to transform your existing RDS or VDI images for use with Windows Virtual Desktop, I want to outline some important steps you first need to take to ensure a successful migration to personal and pooled desktops in Windows Virtual Desktop.
- Sync user identities and password hash from on-premises Active Directory (AD) to Azure AD.
- Set up an AD instance on Azure or continue using on-premises AD via VPN or ExpressRoute.
- (Alternative) Set up Azure Active Directory Domain Services (Azure AD Domain Services).
- Lift and shift virtual machines from your on-premises environments with Azure Migrate: Server Migration.
- Bring your on-premises Windows Server or Desktop images and create new virtual machines on Azure.
- Register your new virtual machines with the Windows Virtual Desktop brokering service.
- Configure your Azure Virtual Network (VNet) and subnets.
User and application data
- Since UPDs are not supported on Windows Virtual Desktop, convert your UPD profiles into FSLogix Profile Containers.
- Prepare your Azure Files or Azure NetApp file shares to store your profiles.
Client (end user) endpoint capabilities
- Download and install the WVD Windows or MacOS client or use the HTML5 web client, or use the mobile RD clients available through Google Play or Apple App Store. (Did you know that the RD Client iOS app for Apple is now available?)
Migrate existing user profiles to FSLogix Profile Containers
In November 2018, Microsoft acquired FSLogix. After the acquisition, Microsoft decided to make the Profile Container product the default for Windows Virtual Desktop. To provide a good migration path between your existing profile solution and Profile Container, we have created a migration script that is currently available as a Private Preview. To gain access to the Private Preview, complete this registration form.
The migration script will allow you to perform mass conversions of user profiles from various (specified) types to FSLogix based Profile Containers at scale. Here are some details about the tool code base and structure of the code with the commands to be executed, as well as detailed examples
Once you have the migration script, \fFollow the steps below.
- Place the FSLogixMigration Folder in a PSModule directory,
- import the module with command
- Import-Module FSLogixMigration
- If the module is imported successfully you will see the welcome message.
- At the time of import, a check will be done for the following modules: ActiveDirectory, Hyper-V, Pester
Convert-UPDProfile -ProfilePath "C:\Users\UserDisk1.vhd" -Target "\\Server\FSLogixProfiles$" -MaxVHDSize 20 -VHDLogicalSectorSize 512 -VHD -IncludeRobocopyDetails -LogPath C:\temp\Log.txt`
- _Convert-RoamingProfile_ – Converts a roaming profile to an FSLogix Profile Container
- _Convert-UPDProfile_ – Converts a user profile disk (UPD) to an FSLogix Profile Container
- _Get-ProfileSource_ – Takes input for the source type/path
- _New-MigrationObject_ – Creates a PowerShell object, which the script refers to for each migration
- _Mount-UPDProfile_ – Mounts a user profile disk to copy data
- _New-ProfileDisk_ – Creates a VHD or VHDX at the Target location
- _Copy-Profile_ – Runs a Robocopy from source to destination
- _New-ProfileReg_ – Creates an FSLogix Registry .reg file
- _Write-Log_ – Used to write verbose commands and log
Make existing RDS or VDI hosts available for Windows Virtual Desktop
After you successfully “lift and shift” your existing hosts with Azure Migrate: Server Migration to your Azure environment, you are ready to prepare your virtual machines. This process makes the virtual machines ready for Windows Virtual Desktop.
You can use existing images as base image for the Azure Marketplace host pool enrollment process after performing the steps below:
- Have your Windows Virtual Desktop tenant information ready, or create a new tenant.
- Request the RdsRegistrationInfo token for RD Agent installation from your Windows Virtual Desktop tenant.
New-RdsRegistrationInfo -TenantName TenantName -HostPoolName WVD-Host-Pool01 | Select-Object -ExpandProperty Token c:\wvd.txt
- Download and install the RDAgent on the RDS session host.
- Paste the RdsRegistrationInfo token into the value field.
- Sysprep (Generalize) your image and shut down the virtual machine.
- Create a managed image from the VM in the Azure portal. Click on Capture
- Create the image. Enter the Name and Resource group. You can provide your own versioning in the name.
Now that you have performed all the required steps, the virtual machine is ready to use as base image for your Windows Virtual Desktop host pool(s) enrollment.
Use your Azure managed image as the base for the Marketplace Windows Virtual Desktop host pool(s)
Once you have prepared your image as a managed image and want to use it as a base image for your host pool, you will use your image name as image source during the process of provisioning a host pool.
Note: Ensure that the managed image is both in the specified Azure subscription and in the Azure location you select in step two of the Windows host pool enrollment process.
- Open the Azure Marketplace and search for Windows Virtual Desktop – Provision a host pool. Click on
- Select your Azure Subscription, Resource group and datacenter Region and enter a host pool name. Select Next: Configure Virtual Machines.
- Enter the Usage Profile (i.e. workload type), number of Total users and Virtual machine name prefix. Select Next: Virtual Machines settings.
- Select Managed image from the Image source
- Enter the name of your managed Image and resource group as shown in the image below.
- Select your storage type. Enter the AD join account to provide the domain join to AD. Select your Azure Vnet and subnet. Click on Next: Windows Virtual Desktop information.
- Finish the process by entering your default tenant group, tenant name and Azure AD UPN or service principal that is the RDS owner.
- Select Review + Create.
Now your image is being used as base for all your virtual machines as part of your Windows Virtual Desktop host pool! You can start assigning desktops or remote apps to users, or performing other tasks.
I hope you have found this post useful for your Windows Virtual Desktop project. Please feel free to share your feedback or post question in the Comments section below!