Nachdem wir im ersten Teil unserer Azure-Virtual-Desktop-Serie eine grundlegende AVD-Umgebung aufgesetzt haben, kümmern wir uns nun um den Umgang mit Benutzerprofilen. Die „Sessions“ ihrer Benutzer sind letztendlich der „Ort“ an dem deren Programme ausgeführt werden und das findet in Falle von AVD auf ihren Session-Hosts statt, welche im Gegensatz zu RDS Windows-Server- oder Windows-Client-basiert sein können. Für AVD stellt Microsoft nämlich in Azure ein mehrinstanzfähiges Windows 10/11-Image zur Verfügung.
Wir haben in Teil 1 auch verifiziert, dass jeder erfolgreich authentifizierte Nutzer sein eigenes Benutzer-Profil auf dem jeweiligen Session-Host erhält, wobei der Session Broker nicht nur dafür verantwortlich sind, dass jeder Nutzer einen Platz auf einem Sitzungshost mit ausreichender Kapazität erhält, sondern beim Ab- und Anmelden stets auf demjenigen Session-Host landet, der sein Profil bereithält.
Zur Erinnerung: Das Anmelden an einem Sessionhost (über den Hostpool) klappt erst dann, wenn in der Default-Applikation-Group (DAG) oder einer individuellen Application Group eine Zuweisung an einen Benutzer oder eine Benutzergruppe vorgenommen wurde. So weit, so gut. Nur wenn Sie ihren Hostpool mit „Pooling“ konfigurieren ist das Thema der Benutzerprofile von großer Bedeutung. Sie könnten zwar ihren Hostpool mit „Persönlicher Desktop“ konfigurieren, aber das ist nicht Sinn einer VDI-Lösung. Genau wie bei einer klassischen RDS-/Terminal-Server-Lösung sorgt der Session Broker auch in AVD dafür, dass ihre Benutzer beim Anmelden genau den Session-Host zugeordnet bekommen, der das passende Nutzerprofil hat.
Das ist aber noch nicht alles. Eigentlich möchten Sie sicher ihre Nutzer wie bei einem Großrechner dazu animieren, dass sie nicht erst jede Applikation schließen müssen, bevor sie sich von einer aktiven Sitzung abmelden, bzw. sich überhaupt nicht abmelden zu müssen. Es muss also eine technische Lösung her, die darüber „Bescheid weiß“, was ihre Nutzer beim Verlassen einer Sitzung gerade getan haben, d. h. welche Programme gerade geöffnet waren und in welchem Zustand sich Diese befanden. Stellen Sie sich vor, ihre Benutzer installieren und nutzt Outlook oder andere Anwendungen aus den Office-365-Apps, die ihrerseits Profildaten anlegen. Da AVD ohne eine solche Lösung mit lokalen Profilen arbeitet, bleibt jeder Nutzer auf alle Ewigkeit auf die Verfügbarkeit eines spezifischen Sessions-Hosts verhaftet, womit Sie jede Menge Flexibilität verschenken. Hier kommt FSLogix ins Spiel.
Was ist FXLogix?
Bei FSLogix handelt es sich um eine Benutzerprofil-Lösung, die im Jahr 2018 von Microsoft zugekauft wurde als Ersatz für die damals schon lange veralteten Roaming Profiles. FSLogix fügt sich hervorragend in Virtualisierungslandschaften ein, da es ähnliche Technologien verwendet wie beispielsweise „App-V“ oder „ThinApp“. Zusätzlich bietet FSLogix auch eine Anwendungsisolation, um gleichzeitig gleichartige Anwendungen parallel nutzen zu können. FSLogix ist nicht primär für AVD gedacht und entpuppt sich bei genauerem Hinsehen als Universalwerkzeug mit einer Reihe von Lösungen für Clients und insbesondere für nichtpersistente Windows Umgebungen.
Eigentlich besteht FSLogix aus mehreren Komponenten. Dazu gehören neben den für AVD primär relevanten „Profile Containern“ auch „Office Container“, „Application Masking“ und „Java Version Control““. In Summe bieten diese Komponenten mehrere interessante Funktionen, darunter das Pflegen von Benutzerkontexten in nicht persistenten Umgebungen, das Minimieren von Anmeldezeiten auch für nicht persistente Umgebungen (d. h. das eigentliche Profil liegt im Netz und FSLogix gaukelt dem System das Vorhandensein eines lokalen Profils vor) und das Optimieren des IOs zwischen Host und Client, bzw. dem Remote-Profil-Speicher.
Letztendlich führt dies für den Benutzer zu eine nativen (lokalen) Profilerfahrung, die zahlreiche Kompatibilitätsprobleme bei Lösungen mit sichtbaren Umleitungen beseitigt, wie z. B. bei User Profile Disk (UPD) oder die typische Umleitung der Anwendungsdaten bei herkömmlichen Profilen. Schließlich vereinfacht FSLogix das Verwalten von Anwendungen und so genannter „Golden Images“ bei der Desktopvirtualisierung.
Die Funktionen im Überblick
Die für unseren Zweck wichtigste Funktion ist das Umleiten von Benutzerprofilen an einen „Netzwerkstandort“ mithilfe der Profil-Container. FSLogix speichert solche Profile in VHD(X)-Dateien und bindet diese dann zur Laufzeit ein, sodass diese Profile mit den Anforderungen z. B. eine Session Brokers zwischen mehreren Sessionhosts mitwandern können, wenn sich ein Benutzer neu anmeldet.
Bei Profil-Lösungen hingegen, die nicht wie FSLogix Profile „nur“ über das Netzwerk kopieren, wenn sich ein Benutzer in einer entfernten Umgebung ein- oder ausbucht, werden die An- und Abmeldezeiten häufig inakzeptabel, weil Benutzerprofile oft sehr groß sein können. FSLogix hingegen beseitigt Verzögerungen, welche oft Lösungen einhergehen, die einfach nur Dateien kopieren.
Mit der Funktion „Office-Container“ ist es auch möglich, nur den Teil des Profils, welches Office-Daten enthält, umzuleiten. Diese erlaubt es dir, in deinem Unternehmen trotzdem eine alternative Profillösung einzusetzen und dabei deine Office-Experience in einer nicht persistenten Umgebung zu verbessern, etwa im Zusammenhang mit dem Outlook.pst-Dateien Ihrer Nutzer. Anwendungen nutzen das Profil dann so, als läge es auf einem lokalen Laufwerk und da FSLogix einen Filter-Treiber zum Umleiten der Profile verwendet, bemerken Anwendungen gar nicht, wenn sich Profile eigentlich im Netzwerk befinden. Mit dem „Verschleiern“ der Umleitung funktionieren dann auch solche Anwendungen, die sonst mit einem auf einem Netzwerk-Speicher abgelegten Profil nicht klarkommen.
Der Profilcontainer wird zusammen mit dem Cloud Cache verwendet, um robuste und hochverfügbare Umgebungen zu schaffen. Der Cloud Cache platziert einen Teil der Profil-VHD auf der lokalen Festplatte. Der Cloud Cache ermöglicht es einem Administrator auch, mehrere entfernte Profilspeicherorte anzugeben. Der lokale Cache mit mehreren Remote-Profilcontainern schützt die Benutzer vor Netzwerk- und Speicherausfällen.
Das „Application Masking“ schließlich verwaltet den Zugriff auf „FSLogix-Anwendungen“, Schriftarten, Drucker oder andere Elemente. Den Zugriff können Sie nach Benutzer, IP-Adressbereich und anderen Kriterien steuern. Somit reduziert Application Masking die Komplexität der Verwaltung einer großen Anzahl von Golden Images deutlich.
FSLogix-Begrifflichkeiten
Bevor Sie sich eingehender mit FSLogix befassen, sollten Sie die wichtigsten Begrifflichkeiten im Kontext dieser Lösung kennen. Die Wichtigsten sind Folgende:
Speicheranbieter: Unter einem Speicheranbieter versteht FSLogix einen Dienst oder eine Ressource, welche den die Container-Speicher für die FSLogix-Profil-Container zur Verfügung stellt. Zur Wahl stehen neben physischen Speicherlösungen vor allem auch Azure-basierter Speicher. Speicheranbieter sind durch die von FSLogix unterstützten Speichertypen eingeschränkt. Wie erwähnt ist FSLogix nicht primär für AVD konzipiert, aber für unser Szenario bietet es sich an, entweder einen SMB-Fileserver auf Basis einer Azure-VM oder (besser) eine Azure Storage Dateifreigabe zu verwenden, bzw. Azure NetApp Files, wenn Premium-Leistung benötigt wird. Daher ist eine SMB-Dateifreigabe der am häufigsten verwendete Speicheranbieter für FSLogix.
Profilcontainer: Der FSLogix-Profik-Container enthält für jedes Benutzerprofil das Image einer virtuellen Festplatte im Format (VHD oder VHDX). Profil Container fungieren damit als vollständige Lösung für Roaming-Profiles in virtuellen Umgebungen. Dabei leitet jeder Profilcontainer das gesamte Windows-Benutzerprofil in eine in einem Speicheranbieter gespeicherte VHD um.
VHD/X: Im Hyper-V-Umfeld (und damit auch bei Azure) ist eine VHD-Datei eine virtuelle Festplatte, die eine „Disk-in-a-File“-Abstraktion zur Verfügung stellt, ähnlich VMDK (bei VMware) oder IMG/QCOW bei KVM/Linux.
Basisdatenträger: Der Begriff Basisdatenträger bezieht sich auf die unterstützende VHD, welche genutzt wird, wenn für („ProfileType“ = 3), bzw. („VHDAccessMode“ = 1 2 oder 3) verwendet wird.
Differenzierender Datenträger: Ein differenzierender Datenträger bezieht sich stets auf die zwischengeschaltete VHD und wird von FSLogix zum Nachverfolgen von Änderungen am Basisdatenträger genutzt. Differenzierende Datenträger werden mit Basisdatenträgern zusammengeführt.
Speicher für Profil-Container einrichten
Wie oben erwähnt sind die Speicher-Optionen für FSLogix-Container vielfältig. Azure stellt beispielsweise mehrere Speicherlösungen zur Verfügung, die sich zum Ablegen deiner FSLogix-Container anbieten, darunter Azure Files, Azure NetAppFiles, Azure Page Blobs und Storage Spaces Direct auf einer Window-Server-basierten VM. Die Vor- und Nachteile im Detail können Sie in dieser Tabelle der https://learn.microsoft.com/en-us/fslogix/concepts-container-storage-options Microsoft-Dokumentation nachlesen.
Speziell für AVD bietet es sich an, alle FSLogix-Container auf SMB-Dateifreigaben abzulegen und zwar gleichermaßen als Location für Profil- und ODFC-Container (Option: VHDLocations) an, als auch als Cloud-Cache-Location (Option: CCDLocations). Dazu müssen Sie zunächst eine SMB-Dateifreigabe in einem Standardspeicherkonto erstellen. Wie das geht, sollte bekannt sein, bzw. würde den Rahmen dieses Beitrages sprengen.
Haben Sie die Dateifreigabe erstellt, können Sie (in Produktionsumgebungen „müssen“ Sie) den Identitätsbasierten Zugriff konfigurieren. FSLogix unterstützt für SMB-Dateifrageben in hybriden Umgebungen die ADDS-Authentifizierung, die AADDS-Authentifizierung sowie die AAD/EntraID-Kerberos-Authentifizierung, sofern Sie einen Cloud-basierten Identitätsspeicher verwenden.
Wir favorisieren in diesem Beitrag „Microsoft Entra Kerberos““. Damit können ihre Hybrid-Nutzer mithilfe der Kerberos-Authentifizierung auf Azure-Dateifreigaben zuzugreifen. Der Clou dabei: hier stellt Entra ID die benötigte Kerberos-Tickets für den Zugriff auf die Dateifreigabe mit dem SMB-Protokoll aus. Damit können ihre Nutzer ohne eine „Sichtverbindung“ zu einem Domaincontroller über das Internet auf Azure-Dateifreigaben zugreifen, sofern die zugreifenden Clients hybrid in Entra ID eingebunden sind.
Möchten Sie allerdings Windows-Zugriffssteuerungslisten (Access Control Lists, ACLs) bzw. (NTFS)-Berechtigungen auf Verzeichnis- und Dateiebene für ihre Benutzer oder Gruppe konfigurieren, benötigen Sie dennoch eine Sichtverbindung zu einem lokalen Domänencontroller.
Inbetriebnahme von FSLogix
Die grundlegende Inbetriebnahme von FSLogix ist je nachdem, welchen Speicheranbieter Sie verwenden eigentlich recht einfach. Anspruchsvoller wird es erst, wenn Sie das Ausrollen und vor allem das Konfigurieren von FSLogix auf ihren Sitzungshosts in großen Umgebungen automatisierten möchten, beispielsweise mit Hilfe von Gruppenrichtlinien oder Intune (sofern ihr Sitzungshost ein Client-OS nutzt), wozu ihre Sitzungshosts idealerweise EntraID-Hybrid-joined sind. Dann kännen Sie auch das Autorisieren des Zugriffs auf in SMB-Freigaben gespeicherte Profilcontainer mit Hilfe von Kerberos maximal sicher gestalten.
Microsoft empfiehlt in seiner AVD-Dokumentation je eine Vorgehensweise auf Basis von ADDS oder AADDS (Azure Active Directory Domain Services), wenn Sie AVD in einer hybriden Umgebung betreiben. Da wir aber die Basis-Bereitstellung von AVD in unserem Einführung-Artikel in einer reinen Azure AD (AAD) / EntraID-Umgebung vorgenommen haben, zeigen wir Ihnen in diesem Beitrag, wie Kerberos mit Azure-Files auch bei AzureAD-beigetretenen Sitzungshost in reinen Cloud-Umgebungen funktioniert. Der Azure-AD-Kerberos-Support für Azure-Files ist allerdings noch Preview.
Möchten Sie FSLogix verwenden, braucht jeder Benutzer, der z. B. in Ihrer AVD-Umgebung von der Profilwanderung profitiert eine passende Lizenz: Enthalten ist FSLogix in M365 E3/E5, A3/A5, F1/F3, M365 Business, Windows 1o Enterprise E3/E5 oder Windows 10 VDA pro Benutzer. Ferner benötigen Sie für AVD entweder RDS-CALs (bei Windows-Server-basierten Sitzungshosts) oder eine benutzerspezifische Zugriffslizenz für Azure Virtual Desktop.
Generell besteht FSLogix als Produkt aus drei unterschiedlichen Anwendungen, wobei das Kernprodukt „FSLogix Apps“ die primäre Komponente darstellt, welche die Virtualisierung von Benutzerprofilen in virtuellen Desktopumgebungen ermöglicht.
Hinzu kommen mit dem „Regel-Editor“ samt Regelsätzen und dem „Java-Regel-Editor“ zwei zusätzliche Anwendungen für die Bearbeitung von Regeln.
Installiert werden dann zwei Windows-Dienste und drei Mini-Filtertreiber, die alle FSLogix-Komponenten aktiviert. Sie starten damit, dass Sie FSLogix https://aka.ms/fslogix_download herunterladen. Das müssen Sie mit dem lokalen Administrator-Konto auf dem Sitzungshost tun. Zum Installieren des Kernprodukts (FS-Logix-Apps) entpacken Sie nur die heruntergeladene ZIP-Datei und klicken dann im entpackten Pfad „~\FSLogix_Apps_2.9.8612.60056\FSLogix_Apps_2.9.8612.60056\x64\Release“ auf „FSLogixAppsSetup.exe“. Danach können Sie den Installer entgegen unserer sonstigen Empfehlung einfach durchwinken.
Einzustellen oder auszuwählen gibt es hier nichts. Neben der manuellen Installation könnten Sie FSlogix auch als Teil eines Golden Images beim Aufsetzen des Sitzungshost installieren oder die Software bei einem Client-basierten Sitzungshost per SCCM oder Intune verteilen. Wie Sie FSLogix installieren, spielt letztlich keine Rolle. Danach ist ein Neustart des Sitzungs-Hosts erforderlich. Prüfen Sie dann zunächst auf ihrem Sessionhost, ob der FSLogix-Agent erfolgreich installiert wurde. Dazu können Sie z. B. die installierten Windows-Apps anzeigen.
Im Hauptverzeichnis des ZIP-Archivs finden Sie übrigens auch die admx/adml-Dateien, um die Software GPO-basiert konfigurieren zu können. Letzteres ist natürlich viel einfacher, als die Konfiguration auf jedem Sessionhost manuell durchführen zu müssen, wie es FSLogix u. a. vorsieht. Wie Sie FSLogix erfolgreich konfigurieren, erfähren Sie im nächsten Teil dieser Workshop-Serie.