Benutzerprofile mit Microsofts FSLogix Profile Container virtualisieren


    Tags: , ,

    Laden des Profile Containers beim Anmelden des BenutzersSeit Microsoft FSLogix ge­kauft hat, können Kun­den mit RDS-CALs oder diver­sen Microsoft-365-Abos die Profile Container kosten­los nutzen. Sie über­winden viele Schwächen von Roaming Profiles und lassen sich recht ein­fach ein­setzen, da sie nur einen Agent, GPOs, AD-Gruppen und File-Shares benötigen.

    Das Konzept von FSLogix Profile Container beruht darauf, Benutzer­profile in eine VHD(X)-Datei auszu­lagern. Die Software leitet dann alle Zugriffe auf die Benutzerdaten und Einstellungen in den externen Container um. Dieses virtuelle Laufwerk wird bei der Anmeldung des Benutzers gemountet und transparent für Anwendungen in das Datei­system eingehängt.

    Agent installieren

    Diese Aufgabe übernimmt der Agent, der in einer 32- und 64-Bit-Ausführung vorliegt (Download). Er lässt sich entweder interaktiv oder unbeaufsichtigt installieren, etwa über SCCM. Als Zielsysteme kommen vor allem RD Session Hosts in Frage, aber auch virtuelle oder physische Desktops. Das Setup und die Konfiguration sind dabei überall weitgehend gleich.

    Die meisten Firmen können FSLogix seit der Übernahme durch Microsoft ohne zusätzliche Lizenzkosten nutzen.

    Nach der Installation der FSLogix-Software bleibt diese untätig, bis man sie über eine Gruppen­richtlinie aktiviert. Doch zuvor muss man noch das Storage für die Benutzer­profile bereitstellen, wobei es sich dabei typischerweise um eine Freigabe auf einem Windows-Server oder einem NAS handelt.

    Speicher konfigurieren

    Dabei ist es wichtig, die Berechtigungen so zu vergeben, dass jeder User nur Zugriff auf sein eigenes Profil hat. Dabei kann man nach dem gleichen Muster vorgehen wie bei der Einrichtung von Freigaben für Roaming Profiles oder eine Ordner­umleitung.

    Microsoft schlägt in der Dokumentation indes nur eine simple Variante vor, bei der die Benutzer jeweils nur das Recht auf Ändern erhalten.

    Zu bedenken wäre bei der Bereitstellung des Speichers, dass dieser nach Möglichkeit hoch­verfügbar ausgelegt sein sollte, weil die betroffenen Benutzer bei seinem Ausfall Daten verlieren oder nicht mehr weiter­arbeiten können. Eine Option bietet dafür das FSLogix-Feature Cloud Cache, das die Profile mit mehreren Providern synchronisiert.

    Benutzer zuordnen

    Eine weitere Vorbereitung besteht darin, dass man Benutzer­gruppen festlegt, deren Profile von FSLogix virtualisiert werden sollen bzw. die man davon ausnehmen möchte. Bei seiner Installation legt der Agent auf dem Rechner 4 lokale Gruppen an, jeweils zwei für Profile Container und Office 365 Container.

    Das Setup von FSLogix legt automatisch vier lokale Benutzergruppen an.

    In die Include List, in der standard­mäßig bereits Jeder enthalten ist, nimmt man jene Gruppen aus dem Active Directory auf, um deren Profile sich FSLogix kümmern soll, und in die Exclude List solche, die davon ausge­schlossen bleiben sollen. Das könnten zum Beispiel Admini­stratoren sein.

    Per Voreinstellung ist "Jeder" bereits für die Nutzung von Profile Container vorgesehen.

    Profile Container über GPO aktivieren

    Nun kann man dazu übergehen, Profile Container über eine Gruppen­richtlinie zu konfigurieren. Dazu muss man erst die mit­gelieferte Vorlage fslogix.admx und die dazugehörige (englische) Sprachdatei nach PolicyDefinitions bzw. in dessen Unter­verzeichnis en-us kopieren, entweder lokal unter %systemroot% oder im Central Store auf einem DC.

    Zwingend notwendig sind die Einstellungen Enabled, um das Tool zu starten, und VHD Location, um ihm den Pfad zum Speicher mitzuteilen.

    Ablageort für die VHD(X)-Dateien über Gruppenrichtlinien festlegen

    Darüber hinaus ist es ratsam, sich mit den übrigen Optionen zu beschäftigen, weil sich damit einige nützliche Funktionen freischalten lassen.

    Einstellungen in den Gruppenrichtlinien für FSLogix Profile Container

    Dazu gehört besonders auf Session Hosts, den Suchindex von Windows in der VHD zu speichern, damit dieser nicht nach jedem Logon neu erstellt werden muss.

    FSLogix erlaubt zudem das Festlegen von Größen­beschränkungen oder das Aktivieren des gleichzeitigen Zugriffs auf das Profil aus mehreren Sessions. Über eine weitere Option lässt sich das Namensschema für die Verzeichnisse und VHDs ändern, wenn die Vorgabe nicht passen sollte.

    Bestehende Profile löschen oder migrieren

    Sobald das GPO auf den zugewiesenen Rechnern greift und sich der erste Benutzer anmeldet, legt FSLogix automatisch für ihn ein Verzeichnis und darin die VHD(X) für das Profil an. Wenn sich der betreffende User aber schon zuvor an diesem Rechner angemeldet hat und ein Profil besitzt, dann bricht FSLogix diese Operation ab.

    Wenn für den Benutzer bereits ein konventionelles Profil existiert, dann bricht FSLogix die Initialisierung des Containers ab.

    Im Eventlog findet sich anschließend zwar ein Error Code "0", aber "3" für Reason. Diese Information und weitere Details zu einer Session finden sich zudem in der Registry, die man mit PowerShell so ausliest

    dir HKLM:\Software\FSLogix\Profiles\Sessions

    FSLogix schreibt detaillierte Infos zu den Sessions in die Registry.

    Wie man dieser Seite mit den Statuscodes entnehmen kann, steht dieser für REASON_LOCAL_PROFILE_EXISTS. Für dieses Szenario gibt es die GPO-Einstellung Delete local profile when FSLogix Profile should apply. Sie sollte mit entsprechender Vorsicht genutzt werden.

    In den meisten Fällen wird man vorhandene Profile aber nicht löschen, sondern in den Profile Container migrieren wollen. Für diese Aufgabe unterstützt das Kommandozeilen-Tool frx.exe, das sich im Programmverzeichnis von FSLogix befindet, den Schalter copy-profile.

    Ihm übergibt man den Namen des Users und der VHDX-Datei, wobei man sich dabei an das Schema halten sollte, das man in den Gruppen­richtlinien festgelegt hat. Standardmäßig ist das Profile_<username>.vhdx.

    Zusätzlich bietet es sich an, das virtuelle Laufwerk als dynamic zu konfigurieren, so dass es mit steigender Datenmenge mitwachsen kann:

    . "C:\Program Files\FSLogix\Apps\frx.exe" copy-profile -filename Profile_User.vhdx -username contoso\user -dynamic 1 -verbose

    Bestehende Profile in einen VHD(X)-Container migrieren mit frx.exe

    Versucht man, die VHD(X) direkt auf dem Netzlaufwerk zu erzeugen, dann kann dies mit einer wenig aufschluss­reichen Fehlermeldung enden. Wenn man sie lokal generiert, dann kopiert man sie anschließend in den FSLogix-Speicher, und zwar in ein Verzeichnis, das ebenfalls der Konvention entspricht. Per Voreinstellung ist das <SID>_<username>.

    Bei einer größeren Zahl an Benutzerprofilen kann man diesen Vorgang mit Hilfe von PowerShell automatisieren, wobei man die SID mittels Get-ADUser ausliest.

    Sind die Berechtigungen korrekt gesetzt, dann sollte der Profile Container bei der nächsten Anmeldung des Benutzers gemountet werden und alle migrierten Daten enthalten.

    Verzeichnisse im lokalen Profil belassen

    FSLogix leitet standard­mäßig alle Verzeichnisse mit Ausnahme von temp und dem IE-Cache in den Profile Container um. Möchte man bestimmte Ordner davon ausnehmen, etwa weil man ihren Inhalt mittels Ordner­umleitung lieber auf einem File-Server speichert, dann definiert man diese in einer XML-Datei. Ihr Aufbau ist relativ einfach und hier beschrieben.

    Um eine solche redirection.xml den vorgesehenen Profilen zuzuordnen, gibt es eine eigene Einstellung in der Gruppen­richtlinien. Sie heißt Provide RedirXML file to customize redirection. Sie erwartet die Eingabe des Pfads zur Konfigurations­datei, die man in der Regel auf einer Netzfreigabe ablegen wird.

    Fazit

    FSLogix Profile Container sind für viele Umgebung eine bessere Lösung als Roaming Profile Disks oder User Profile Disks. Das gilt besonders für RD Session Hosts, bei denen die Nutzung von FSLogix mit den Client Access Licenses bereits abgedeckt ist.

    Die Installation und Konfiguration des Tools fällt recht einfach aus, weil es neben seinem eigenen Agent nur gängige Windows-Techniken wie Benutzer­gruppen, GPOs oder File-Shares nutzt.

    Täglich Know-how für IT-Pros mit unserem Newsletter

    Wir ver­wenden Ihre Mail-Adresse nur für den Ver­sand der News­letter.
    Es erfolgt keine per­sonen­be­zogene Auswertung.

    Bild von Wolfgang Sommergut

    Wolfgang Sommergut hat lang­jährige Erfahrung als Fach­autor, Berater und Kon­ferenz­sprecher zu ver­schie­denen Themen der IT. Da­ne­ben war er als System­ad­mi­ni­stra­tor und Con­sultant tätig.
    // Kontakt: E-Mail, XING, LinkedIn //

    Verwandte Beiträge

    Weitere Links

    4 Kommentare

    Besten Dank für die Beschreibung. Ist es denn ratsam, FSLogix sowohl für TS- als auch Fat-Client-Umgebungen (also ein Container für beides) zu nutzen?

    Je nachdem, ob Braches vorhanden sind, scheint es mir auch so als könnten die Ladezeiten jeweils extrem hoch sein, zumindest beim Login?!
    Immerhin wird die VHDX ja jedes Mal vom entsprechenden Cloud Cache geholt oder zurück geschrieben, verstehe ich das richtig?

    Besten Dank!
    Manuel

    Bild von Wolfgang Sommergut

    Der Einsatz von FSLogix auf Windows-PCs wird jedenfalls unterstützt. Das ist vor allem für gemischte Umgebungen (RDS und PCs) interessant, weil man dann mit einer einzigen Lösung für das Profil-Management auskommt.

    Cloud Cache arbeitet mit einem lokalen Cache, die Änderungen werden im Hintergrund repliziert. Ich habe das hier beschrieben.

    Vielen Dank für die Erklärung. Jetzt muss ich noch rausfinden, weshalb mein Benutzer (Domain-Admin) ein Profil erstellt bekommt, andere Benutzer aber nicht.

    Ich nehme an dass ich hier nicht nur auf Administratoren, SYSTEM, Authenticated Users und CCREATOR OWNER, sondern auch für "EVERYONE" Zugriff auf den Hauptordner geben solle?

    Bezüglich Cloud Cache: Werden die Kopien an alle Caches gleichzeitig gesendet, oder gibt es eine Möglichkeit, die untereinander abzugleichen? Unterstützt die Lösung DFSR für Branch-Einsätze?

    Eine Frage bezüglich VHDLocation bzw CloudCache habe ich noch: Was passiert (je nach Konfiguration) wenn ich einen Fat-Client mit FSLogix mit dem Profil versorge, dieser die Branch verlässt (oder sich von extern anmeldet, ohne Azure-Location, alles On-Prem, nicht von extern erreichbar)?

    Wird im Falle der Anmeldung On-Site und Abmeldung Off-Site keine der Änderungen übernommen und das Profil gelöscht, oder wird das ganze cached und beim nächsten Login synchronisiert?
    Unsere Benutzer sind grossteils mobil, Azure Blobs sind aber nicht in der Schweiz verfügbar (nicht auf File Share-Ebene).

    Und wird im Falle der Anmeldung mit VHDLocation überhaupt ein Profil gezogen? Oder klappt das nur mit Cache, sofern ich diesen nicht beim Logoff löschen lasse?

    Vielen Dank! :-)