Installation/Konfiguration von FSLogix Profil-Containern in VDI Umgebungen
FSLogix ist eine Software die primär der Verwaltung von Profilen in Profil Containern und/oder Office 365 Containern dient. Sie eignet sich daher besonders für den Einsatz in VDI Umgebungen unter Citrix Virtual Apps & Desktops und/oder Remote Desktop Session Hosts. FSLogix hat noch weitere Komponenten, die ich allerdings in diesem Beitrag nicht thematisiere. Seit 2018 gehört FSLogix zu Microsoft, wodurch sich auch durch die Lizenzvoraussetzungen die Möglichkeiten zum Einsatz für den Endkunden verbessert haben – man benötigt lediglich RDS CALs (die man ja zwangsläufig in VDI Umgebungen hat) oder alternativ gängige O365 Lizenzen.
In den folgenden Zeilen konfiguriere ich FSLogix für Profil Container. Office 365 Container können separate oder als Teil der Profil Container verwendet werden.
File Share
FSLogix benötigt ein File-Share zum Speichern der VHD(X)-Dateien. Die Offline-Verwendung des File-Shares muss deaktiviert werden. Die ACL des Ordner, in dem der File-Share angelegt wird, benötigt folgende Einstellungen:
User Account | Folder | Permissions ---------------------------|-------------------------------------|---------------- BUILTIN\Users | This Folder Only | Modify CREATOR OWNER | Subfolder and Files Only | Modify BUILTIN\Administrators | This Folder, Subfolder, and Files | Full Control NT AUTHORITY\SYSTEM | This Folder, Subfolder, and Files | Full Control
Mit folgendem PowerShell Skript werden Ordner und File-Share konfiguriert:
# Set Profile-Directory and get ACLs $Dir = '<Path>\Profiles' $Acl = Get-Acl -Path $Dir # Disable inheritance $Acl.SetAccessRuleProtection($true,$false) # Configure new permissions $AccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule("BUILTIN\Administrators","FullControl","ContainerInherit, ObjectInherit","None","Allow") $Acl.SetAccessRule($AccessRule) $AccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule("NT AUTHORITY\SYSTEM","FullControl","ContainerInherit, ObjectInherit","None","Allow") $Acl.SetAccessRule($AccessRule) $AccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule("BUILTIN\Users","Modify, Synchronize","None","None","Allow") $Acl.SetAccessRule($AccessRule) $AccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule("CREATOR OWNER","FullControl","ContainerInherit, ObjectInherit","InheritOnly","Allow") $Acl.SetAccessRule($AccessRule) # Write ACL changes $Acl | Set-Acl -Path $Dir # Create and configure File-Share New-SmbShare -Name "Profiles" -Path $Dir -FullAccess "Everyone" -CachingMode None -FolderEnumerationMode AccessBased -Confirm $False
Agent Installation
Ist das File-Share angelegt, kommt als nächstes die Installation des FSLogix Agents. Hierzu installiere ich den Agent mit den verfügbaren Silent-Setup Optionen. Nach der Installation konfiguriere ich die lokalen Exclusion-Groups von FSLogix, die automatisch bei der Installation mit angelegt werden – einmal für Profile Container, einmal für Office 365 Container.
<FSLogix-Setup-Path>\FSLogixAppSetup.exe /install /quiet /norestart Add-LocalGroupMember -Name "FSLogix Profile Exclude List" -Member "Administrators", "<Domain-Name>\Domain Admins" Add-LocalGroupMember -Name "FSLogix ODFC Exclude List" -Member "Administrators", "<Domain-Name>\Domain Admins"
Agent Konfiguration
Der Agent kann nach der Installation mit zwei verschiedenen Möglichkeiten konfiguriert werden:
- Group Policy
- Registry
Group Policy
Das FSLogix Download Paket enthält neben den Installationsdateien auch Administrative Templates. Sind diese in den PolicyDefinitions Ordner kopiert, stehen die konfigurierbaren Optionen in der Group Policy Management Console zur Verfügung.
Über die Einstellungen in den Administrative Templates kann der FSLogix Agent GUI-basiert konfiguriert werden.
Registry
Alternativ zur Konfiguration per Group Policy kann FSLogix auch direkt per Registry konfiguriert werden. Eine komplette Referenz findet ihr hier.
Hier ein Beispiel für eine einfache Konfiguration mit Profilpfad- und Profildatei-Konfiguration:
REG add "HKLM\SOFTWARE\FSLogix\Profiles" /t REG_DWORD /v "Enabled" /d "1" /f REG add "HKLM\SOFTWARE\FSLogix\Profiles" /t REG_SZ /v "VHDLocations" /d "\\<Server>\<Share>\Profiles" /f REG add "HKLM\SOFTWARE\FSLogix\Profiles" /t REG_SZ /v "VolumeType" /d "VHDX" /f REG add "HKLM\SOFTWARE\FSLogix\Profiles" /t REG_DWORD /v "IsDynamic" /d "1" /f REG add "HKLM\SOFTWARE\FSLogix\Profiles" /t REG_DWORD /v "FlipFlopProfileDirectoryName" /d "1" /f
Quellen:
https://docs.microsoft.com/en-us/fslogix/
https://www.sul.de/2019/04/05/fslogix-in-a-citrix-provisioning-environment/