This post is part of the overall MS-700 Exam Study Guide. Links to each topic as they are posted can be found here.
This section of the exam blueprint covers Microsoft Teams devices and CDI environments. As they are not directly related, in this post I will focus on the topic of configuring Microsoft Teams for VDI.
Configure Microsoft Teams for VDI
Many organizations rely heavily on Virtual Desktop Infrastructure (VDI) where hosted desktops (dedicated or shared) are used by a large number of users. Traditionally with VDI environments, streaming latency sensitive content such as video and voice has been a challenge. As with Skype for Business before it, there are a number of considerations which must be taken into account when deploying Microsoft Teams in VDI environments. The current supported VDI environments for Microsoft Teams are:
Persistent vs Non-Persistent Desktops
There are many different configurations for VDI but for the sake of this post, I will generalize from a Teams perspective. Depending on the VDI solution and configuration, users cloud desktops can be persistent or non-persistent.
Essentially persistent desktops are static and usually dedicated to a single user – think of this as essentially a virtual laptop that the user connects to from anywhere. Non-persistent desktops on the other hand, are typically used in shared environments with a pool of compute resources. Users connect to the service and are signed into one of a number of machines. Roaming profiles and/or folder redirection provide users with their profile and files regardless of what backend machine they connect to.
For persistent desktops, installing Teams as normal using the default per-user installer is fine as we don’t need to worry about multiple users etc. This is the same as on a regular laptop or desktop and installs Teams into the users profile. Installing in this way has multiple benefits such as not requiring admin permissions to install or update Teams (Teams will check for updates each time it launches by default).
For non-persistent desktops, the Teams machine-wide installer should be used. The machine-wide installer works differently and deploys Teams to the machine itself rather than the local user. When a user logs in to a machine with the machine-0wide installer present, it will automatically install itself into their profile. This allows Teams to be installed on shared machines but does lose the benefits of the regular installer such as automatic updating.
Profile-caching
For non-persistent setups, user profile roaming or redirection/caching allow for user profiles to be made available across shared device pools. For Office 365 in non-persistent environments, there are many third-party solutions available to optimize user profile caching. For many organizations with Microsoft 365 licenses FSLogix is included in the licensing and compatible with many VDI setups.
When configuring profile redirection, the below folders should be included for Teams:
- C:\Users\username\AppData\Local\Microsoft\IdentityCache (%LocalAppData%\Microsoft\IdentityCache)
- C:\Users\username\AppData\Roaming\Microsoft\Teams (%AppData%\Microsoft\Teams)
From Microsofts documentation, the below items can be excluded to reduce the size of the user cache:
- .txt files
- Media-stack folder
- %AppData%\Microsoft\Teams\meeting-addin\Cache
This is the Microsoft recommendation but when deploying any application in a VDI environment it’s always good to align with the VDI vendors recommendations also.
AV Optimization
Each of the supported platforms called out above provide AV/Media optimization for Teams. Media optimization technologies allow users to use Teams for calling and meetings which reducing latency and overhead on the shared environment by offloading this to the client machine.
For Azure Virtual Desktop, media optimization is supported wen using the below clients to connect:
- Windows Desktop and client on Windows 10 machines. Windows Desktop client version 1.2.1026.0 or later.
- macOS Remote Desktop client, version 10.7.7 or later (preview)
Media optimization is enabled via the following registry setting on Azure Virtual Desktop, for Windows 365 this is preconfigured.
Setting | Value |
Location | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Teams |
Name | IsWVDEnvironment |
Type | DWORD |
Value | 1 |
The VDI images also need the Remote Desktop WebRTC Redirector Service installed to allow redirection. There are of course limitations to what can be achieved using media optimization however this is constantly being improved and changed so I will just link to the documentation below:
https://docs.microsoft.com/en-us/azure/virtual-desktop/teams-on-avd
https://docs.microsoft.com/en-us/windows-365/enterprise/teams-on-cloud-pc
For VMware Horizon and Citrix check out their documentation at the below links:
https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/multimedia/opt-ms-teams.html
Summary
Over time, VDI solutions have evolved to allow Skype for Business and Teams calling and meetings to be feasible within the platforms. There are still limitations and user experience may not be what it is on dedicated hardware but the solutions available now are very workable and bring a lot of flexibility to Teams deployments. In the next post I will finish this topic of the exam, looking at Teams Devices and configuration.