Teams VDI/RDP/RDS/Citrix
Die Nutzung von Microsoft Teams in Unternehmen ist auf mobilen Geräten, Tablets und Desktops sehr einfach möglich. Ein Sonderfall, der dabei aber oft unter den Tisch fällt, sind "Thin-Clients", die mittels Terminal Services (RDP) und ggfls. Citrix (ICA) die klassischen Office Dienste nutzen.
- Announcing general availability of the
new Microsoft Teams app for virtual desktop
infrastructure
https://techcommunity.microsoft.com/t5/microsoft-teams-blog/announcing-general-availability-of-the-new-microsoft-teams-app/ba-p/4000093
Besonderheiten
Beim Einsatz von Teams auf Thin Clients sind mir bislang drei Dinge als problematisch aufgefallen:
- Ressourcenbedarf
Auch im Juli 2019 gibt es nichts zu beschönigen: Der Teams Client benötigt deutlich mehr Hauptspeicher und CPU als z.B. ein Skype for Business Client. Das ist aber nicht nur bei den größeren Konferenzen mit mehreren Video-Streams der Fall, sondern selbst im Ruhe-Zustand ist mein Teams-Client bei 400MB+. Für eine Umgebung, auf der mehrere Clients auf dem gleichen Server nebeneinander arbeiten, ist Speicher kostbar um die Kosten der Server im Rahmen zu halten. - Datenablage
Der Teams Client speichert Daten lokal im Verzeichnis "%userprofile%\AppData\Local\Microsoft\Teams" und auch "%userprofile\AppData\Roaming\Microsoft\Teams". Bei mir sind das 1,2 GBytesDamit stellt sich die Frage, wo in einer Terminal Server Umgebung das Profil der Benutzer vorgehalten wird. Das ist insbesondere wichtig, wenn Benutzer auf andere Host-Systeme wechseln. Die Daten sind neben Protokollen zu Fehlersuche auch Daten im "Cache" um Zugriffe zu beschleunigen. - Audio/Video (RTP)
Vergleichbar zu Skype for Business sind natürliche die beiden Workloads "Sprache" und "Bild" eine Herausforderung. Citrix u.a. versuchen dies derart zu lösen, dass die Thin-Clients am Arbeitsplatz selbst RTP-Endpunkt sind und damit diese Daten nicht erst über den zentralen Server übertragen werden müssen.
Diese technischen Fakten sind aktuell nicht zu ändern.
Wenn Sie z.B. auf UserVoice nach Citrix suchen (https://microsoftteams.uservoice.com/forums/555103-public?query=citrix), dann finden Sie einige Treffe. Allerdings haben viele Einträge nur ganz wenig "Votes" oder werden pauschal beantwortet, wie z.B.
Performance has been and continues to be
a big focus area for Teams. One main area we have made
improvements in is responsiveness for the most frequent user
actions of switching between Chat, Channel, and Activity. We
are also focused on reducing resource consumption and
application load time. More improvements are on the way.
Quelle:
https://microsoftteams.uservoice.com/forums/555103-public/suggestions/17219609-teams-uses-600mb-and-is-super-slow
Teams AV Redirection
Anfang März 2020 hat Microsoft "Virtual Desktop on Azure" released. Damit sollen Desktops in Azure laufen und damit einen lokalen Terminal Server ersetzen. Das macht natürlich besonders viel Sinn, wenn die Daten eh schon in der Cloud sind. Das hat aber durchaus einen negativen Einfluss auf Audio/Video. Denn Die Daten gehen dann ja vom Client zu dessen Virtual Desktop und dann verschlüsselt weiter zum nächsten virtual Desktop und dann wieder zu anderen Client.
Quelle: Windows Virtual Desktop on Azure | Released Minute
09:08
https://youtu.be/QLDu6QVohEI?t=548
Das belastet die Leitung, die VMs und addiert Latenzzeit und ist insbesondere negativ, wenn die beiden Endpunkt am gleichen Standort stehen oder sogar das VoIP-Gateway (SBC) vor Ort steht. Hier kommt dann die Funktion "AV Redirection" in Teams zum Einsatz, damit ein passender Client direkt RTP spricht und damit zumindest bei 1:1 Calls die Verbindung lokal bleibt und direkt erfolgt.
Quelle: Windows Virtual Desktop on Azure | Released
Minute 09:24
https://youtu.be/QLDu6QVohEI?t=564
Die Verbindung nutzt WebRTC. Leider gibt es noch keine Aussagen dazu, wie das mit Meetings und Telefonanrufen ist.
Windows Virtual Desktop on Azure |
Released
https://www.youtube.com/watch?v=QLDu6QVohEI
Windows Virtual Desktop 2020-Updates -
Teams AV Redirect (ab 2:12)
https://www.youtube.com/watch?v=nLmBc9Khw8c&t=132s
- Use Microsoft Teams on Windows Virtual
desktop
https://docs.microsoft.com/de-de/azure/virtual-desktop/teams-on-wvd - Teams for Virtualized Desktop
Infrastructure
https://docs.microsoft.com/de-de/microsoftteams/teams-for-vdi
Audio/Video mit Citrix
Für den Einsatz von Skype for Business auf Citrix-Servern gibt es ein "Skype for Business Optimization pack", welches aber anfangs nicht mit Teams genutzt werden konnte. Mittlerweile gibt es ein AdOn, damit zumindest in Verbindung mit Citrix diese Funktion wieder vorhanden ist. Eine etwas ältere Seite schreibt dazu
“Teams also has a per-machine
installation for Chat and Collaboration. In the coming
months, we’ll offer Calling and Meetings in Teams through
Audio/Video Media optimization in collaboration with Citrix.
We’re also planning additional Teams enhancements, including
improved app deployment, support for Windows Virtual
Desktop, performance enhancements, and optimized caching for
non-persistent setups.”
Quelle
https://www.microsoft.com/en-us/microsoft-365/blog/2019/07/01/improving-office-app-experience-virtual-environments/
Anscheinend gibt es also keine Überlegungen von Microsoft den RDP-Dienst von Windows Server dahingehend zu erweitern. Microsoft setzt voll auf virtuelle Desktops statt virtuelle Sessions. Aber Teams unterstützt die HDX-Erweiterung, wenn Sie denn korrekt installiert ist. Sie sehen das bei Teams bei der Anzeige der Information:
- Optimized = HDX geladen und verbunden
- Not Conected = HDX geladen aber keine
Verbindung
- Keine Anzeige = lokale HDX-Unterstützung
fehlt
Denken Sie daran: Auf einem TerminalServer wird Teams gerne für alle User installiert und muss daher dann auch vom Administrator immer aktualisiert werden. Ein "SelfUpdate" durch den Anwender gibt es hier nicht
- Microsoft Teams für Virtualized Desktop
Infrastructure
https://docs.microsoft.com/de-de/microsoftteams/teams-for-vdi - Citrix HDX optimization for Microsoft
Teams
https://www.citrix.com/blogs/2019/05/21/citrix-hdx-optimization-for-microsoft-teams/ - Optimization for Microsoft Teams
https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/multimedia/opt-ms-teams.html#enable-optimization-of-microsoft-teams - Citrix Plan HDX RealTime Optimization
Pack for Microsoft Teams, providing audio
video and sharing support in VDI
https://tomtalks.blog/2018/07/citrix-plan-hdx-realtime-optimization-pack-for-microsoft-teams-providing-audio-video-and-sharing-support-in-vdi/ - Citrix and Microsoft are teaming up for
Teams
https://www.citrix.com/blogs/2018/07/20/citrix-and-microsoft-are-teaming-up-for-teams/ - Using NDI with Microsoft Teams
https://support.microsoft.com/en-us/office/using-ndi-with-microsoft-teams-e91a0adb-96b9-4dca-a2cd-07181276afa3?ui=en-us&rs=en-us&ad=us - Citrix and Microsoft are teaming up for
Teams
https://www.citrix.com/blogs/2018/07/20/citrix-and-microsoft-are-teaming-up-for-teams/
Auch auf YouTube finden sich mittlerweile einige Demos und Vorträge
Citrix HDX Optimization for Microsoft
Teams
https://www.youtube.com/watch?v=e9AY9ULCyew
Demo of optimized web-based Microsoft
Teams in a virtual environment
https://www.youtube.com/watch?v=S0fhM1HLyNE
Taking the Citrix and Microsoft
partnership to the next level with Citrix Workspace -
THR2239
https://www.youtube.com/watch?v=rGgWL29qamY
Citrix HDX Realtime Optimization Pack
for Skype for Business
https://www.youtube.com/watch?v=sJRtDOiItC8
Allerdings betreibe und nutze ich keine Citrix-Server und kann daher keine weiteren Details dazu liefern
Microsoft selbst empfiehlt den Einsatz von Teams auf Terminal Servern nur ohne Audio/Video und beschreibt, wie sie über eine passende Konfiguration der Richtlinien die Nutzung von Teams für A/V deaktivieren.
Currently, Teams in a virtualized
environment is available with support for collaboration and
chat functionality with a dedicated persistent virtualized
machine (VM).
The Teams calling and meeting experience isn't optimized for
a VDI environment (coming soon). We recommend you set
user-level policies to turn off calling and meeting
functionality in Teams.
Quelle: Teams for Virtualized Desktop Infrastructure
https://docs.microsoft.com/en-us/microsoftteams/teams-for-vdi
Die Konfiguration erfolgt allerdings pro Benutzer und nicht pro Server, so dass die Anwender über den Weg natürlich auch auf einem prinzipiell geeigneten Client von Audio/Video ausgeschlossen werden.
Teams native auf Thin Client
Wenn Sie sich einmal die "Thin Clients" von heute anschauen, dann sind diese keineswegs mehr "thin". Die meisten basierend auf einem PC, auf dem statt Windows ein Linux mit zentralem Management läuft und die schon länger weit mehr als nur einen ICA-Client oder RDP-Client starten können. Die meisten dieser ThinClients können neben TELNET, X11-Server und weiteren Terminalemulationen auch einen Browser starten. Da stellt sich dann schon dir Frage, ab wann der Thin Client einfach nur noch Teams startet, sei es als native Linux App oder einfach im Browser
- Boot2Teams
- Running MS Teams natively on IGEL OS
alongside WVD
https://www.youtube.com/watch?v=0-o8VQS38Po
https://www.youtube.com/watch?v=3X0IKKu5eZY
Das zweite Video zeigt, dass der Igel wohl einen Intel Core2Duo P8400 mit 2,2GHz und 4 MB Ram hat und auf Igel-Linux 11. Die CPU wurde 2008 released!
Installation
Wenn es eine 1:1-Zuordnung von Anwendern zum Endgerät gibt, dann ist es kein Problem den Teams Client auch durch den Anwender installieren zu lassen. Aus meiner Sicht ist das sogar der Regelfall, da jeder Anwender grundsätzlich die Möglichkeit hat, Dateien aber auch Programme in seinem persönlichen "Appdata"-Verzeichnis abzulegen. Ein Administrator kann diesen Prozess natürlich auch per Software-Verteilung aktiv unterstützen.
Auf einem Terminal Server oder eine Farm arbeiten aber mehrere Mitarbeiter auf dem gleichen System und wechseln auch das System. Die meisten Programme wurden daher im zentralen Programmverzeichnis, z.B. C:\Programme, installiert und so nur einmal pro Server bereitgestellt. Das spart vor allem Platz, denn eine Teams-Installation kann schnell auch mal einige 100 MB Platz im Benutzerprofil belegen.
Es gibt aber auch eine Installation als MSI-Datei ins Programmverzeichnis dies Servers. Dieser Weg ist für Terminal-Server vermutlich der geeignetere Weg, um eine Installation pro Benutzer zu vermeiden. Dies löst aber nicht das Problem, dass dennoch im Benutzerprofil die ein oder andere Datei landet.
PowerShell CsTeamsVdiPolicy
Jede Einstellung in Teams muss irgendwo auch konfigurierbar sein. Citrix beschreibt in seinem eigenen Dokument einige Registrierungsschlüssel, mit denen das HDX-Verhalten gesteuert werden kann. Interessanterweise gibt es aber auch in der Teams PowerShell.
PS C:\> Install-Module -Name MicrosoftTeams PS C:\> Import-Module Microsoftteams PS C:\> get-command *-*vdi* CommandType Name Version Source ----------- ---- ------- ------ Function Get-CsTeamsVdiPolicy 2.5.0 Microsoftteams Function Grant-CsTeamsVdiPolicy 2.5.0 Microsoftteams Function New-CsTeamsVdiPolicy 2.5.0 Microsoftteams Function Remove-CsTeamsVdiPolicy 2.5.0 Microsoftteams Function Set-CsTeamsVdiPolicy 2.5.0 Microsoftteams
Leider gibt es (Stand Aug 2021) keine ausführlich Dokumentation zu diesen Commandlets
Sie können nur auf einer Seite die Commandlets in Funktion sehen
- Microsoft Teams für Virtualized Desktop Infrastructure: Festlegen von
Richtlinien zum Einschränken von Anruffunktionen
https://docs.microsoft.com/de-de/microsoftteams/teams-for-vdi#disable-audio-and-video-settings-for-vdi
Allerdings steht da auch:
"Dies gilt nur für nicht optimierte Umgebungen."
Quelle
https://docs.microsoft.com/de-de/microsoftteams/teams-for-vdi#disable-audio-and-video-settings-for-vdi
-
Microsoft Teams PowerShell
https://www.powershellgallery.com/packages/MicrosoftTeams -
MicrosoftTeamsPowerShell PSD1
https://www.powershellgallery.com/packages/MicrosoftTeams/2.5.0/Content/MicrosoftTeams.psd1
Enthält Referenzen auf Get-CsTeamsVdiPolicy, Set-CsTeamsVdiPolicy, Grant-CsTeamsVdiPolicy, New-CsTeamsVdiPolicy, Remove-CsTeamsVdiPolicy
Weitere Links
- Boot2Teams
- Terminal Server Clients
- Teams noAV
- New Teams Client / Teams 2.1
-
Announcing general availability of the new
Microsoft Teams app for virtual desktop
infrastructure
https://techcommunity.microsoft.com/t5/microsoft-teams-blog/announcing-general-availability-of-the-new-microsoft-teams-app/ba-p/4000093 - Upgrade to new Teams for Virtualized
Desktop Infrastructure (VDI)
https://learn.microsoft.com/en-us/microsoftteams/new-teams-vdi-requirements-deploy - Deploying the Microsoft Teams Desktop
Client
https://practical365.com/collaboration/teams/deploying-microsoft-teams-desktop-client/ -
Teams in your Multi-user environment done
right!
https://tech.xenit.se/teams-in-your-multi-user-environment-done-right/ -
Teams for Virtualized Desktop Infrastructure
https://docs.microsoft.com/de-de/microsoftteams/teams-for-vdi -
Run Microsoft Teams in a virtual environment
https://docs.microsoft.com/en-us/microsoftteams/virtual-environment-teams -
Using NDI with Microsoft Teams
https://support.microsoft.com/en-us/office/using-ndi-with-microsoft-teams-e91a0adb-96b9-4dca-a2cd-07181276afa3?ui=en-us&rs=en-us&ad=us