In a previous post I created and deployed two Windows Virtual Desktop session hosts using a Windows 10 image (without 365 Apps) from the Azure market place. I manually installed the FSLogix app on both session hosts, configured Azure File shares for my profiles location and configured FSLogix application masking. The purpose of going through the process was to demonstrate how to setup a basic Windows Virtual Desktop solution within Azure.
In this blog post I will go through the process of building a Windows 10 image with 365 Apps included, install a few apps such as Google Chrome, Firefox, Adobe Reader and Notepad ++. I will then optimise the image as per Microsoft best practice. Let’s get started.
You can follow my Windows Virtual Desktop journey by visiting the blog posts I created previously.
1. Deploying Windows Virtual Desktop (WVD) in Microsoft Azure
2. Windows Virtual Desktop – Pooled vs Personal Desktops
3. Windows Virtual Desktop Application Group Creation
4. How to install and configure Windows Virtual Desktop Client
5. Configure FSLogix group policy and install FSLogix app
6. Use Azure Files for FSLogix user profile data with Window Virtual Desktop
7. Backup Azure Files Share
8. FSLogix application masking in Windows Virtual Desktop
- Login to the Azure portal portal.azure.com
- Build a new Windows 10 virtual machine
> Click Virtual Machines
> Click Add
> Create a temp resource group (This resource group will be deleted later)
> Select the Windows 10 Multi Session image. At the time of writing this blog post the latest version was Windows 10 Enterprise multi-session, Version 2004 + Microsoft 365 Apps
> Select your VM size
> Set a local admin username and password
> This is a temporary setup in a lab environment – I’ll be connecting to this VM externally via RDP to allow me to configure further settings. Avoid allowing RDP externally.
> Confirm your license status and click when ready
> Click next and review disk setup
> Click next to move on to networking and select your VNET and subnet
> Click next to move onto management (No boot diagnostics or auto shutdown as the VM will be deleted later as part of the capture process)
> Click review+create and then click create when validation passes - We now have a Windows 10 VM ready. Let’s login to the newly built VM
4. Because we selected the image with 365 apps, the apps are pre-installed
Check that the VM is up to date with the latest windows updates
5. Next, install the FSLogix app available at: https://docs.microsoft.com/en-us/fslogix/install-ht
6. For the purpose of this demo, I will install some free software.
– Firefox
– Notepad ++
– Google Chrome
– Adobe Reader
7. Next we optimise the Windows 10 VM to remove services/apps which are not required for a WVD image. Microsoft’s recommended optimiser tool is Virtual Desktop Optimization Tool. The tool is based on optimising Windows 10 in a WVD environment. More information can be located at the following Microsoft Tech article: (Windows) Virtual Desktop Optimization Tool now available
Note: at the time of writing this blog post, the Virtual Desktop optimization was script based only
8. Let’s get started with applying the optimisations. Visit the following link from your newly created Windows 10 VM – https://github.com/The-Virtual-Desktop-Team/Virtual-Desktop-Optimization-Tool
9. Download the Virtual Desktop Optimization tool
10. Extract the folder to disk C (See example below)
11. Launch Powershell ISE from the start menu (Right click and run as administrator)
12. Click view and click show script pane if not already selected
13. Click file and browse to file Win10_VirtualDesktop_Optimize located at C:\OptimizationTool\Virtual-Desktop-Optimization-Tool-master, and click open
14. Scroll down and study the script
You can amend the configuration files and enable features which you don’t wish to disable.
In my case, I downloaded the Windows 10 2004 image so my configuration files are located at C:\OptimizationTool\Virtual-Desktop-Optimization-Tool-master\2004\ConfigurationFiles
15. For the purpose of this demo, I will be running the script as it comes (Note I typed 2004 as that’s the image version I am using)
Run the script when ready with a few additional switches
You will lose network connectivity for a couple of seconds but will auto connect to the session so not to worry.
16. Completed – total run time was 3 minutes and 50 seconds and a reboot is required. Reboot the VM
17. VM rebooted and we’re back in
Before optimising the VM, I took a snap of performance stats from the VM via task manager. Check out the stats below.
Before optimisation
After optimisation
18. Now, we sysprep the VM
Click the option to generalize and shutdown from the drop down
19. VM shutdown
20. We now capture the VM so it can be used as the base image when deploying our WVD host pool. Click the VM and click Capture
21. Input details (See example below)
Shared image gallery is a service that helps you build structure and organization around your managed images. You will be able to replicate your images globally, maintain versions, and more. Visit the following Microsoft link for more information Learn more
22. Review + Create
23. VM deleted but earlier in the post I deployed the original VM to a temp resource group. The VM has been deleted from the console but the resource group with some VM components remain.
We created a new resource group for our base image so this one is no longer required. Take care when deleting a resource group and ensure there are no other services you require making use of the resource group.
And we’re done
When creating your host pool, click the link to Browse all images and disks
Click My Items and select your VM
I won’t go through the process of creating a WVD Host Pool as I have covered this in previous posts. See links posted at the beginning of this post.
I have created a WVD Pool and selected my custom image
You’ll find that the source is no longer market place. See example below
Let’s login to the WVD web client
We’re in. Apps we installed earlier are visible
365 apps are also visible
The VM’s were automatically added to the domain and are visible within my selected OU in Active Directory