Allégez vos profils FSLogix !

Dans la plupart des environnements Azure Virtual Desktop, la gestion des profils utilisateurs est gérée grâce à la solution FSLogix. Pour rappel, FSLogix est une solution Microsoft très performante dans la gestion des profils utilisateurs Windows dans les environnements VDI. Azure Virtual Desktop est d’ailleurs le bon exemple, vous pouvez retrouver un article sur sa mise en place juste ici.

Bien souvent, il sera nécessaire d’effectuer par moment des opérations de routine, comme les mises à jour FSLogix, mais aussi dans sa configuration ou encore dans son stockage. En effet, les profils ont tendance à grossir avec le temps. Pour y remédier, plusieurs pistes existent, dont la redirection du cache.

Microsoft en parle d’ailleurs dans deux articles de Microsoft Learn :

Qu’est-ce que la redirection FSLogix ?

Un profil utilisateur contient de la donnée brute, mais aussi de la donnée de cache, issue d’un stockage externe, comme les outils 365. Pour faire simple, les produits comme OneDrive, Teams, Exchange, … stockent vos données dans le Cloud, et en copient une partie sous forme de cache local, pour des questions de performances VDI.

Les profils utilisateurs ont donc tendance à conserver ce cache et grossir avec le temps. FSLogix propose donc de faire de la redirection ciblée de ce cache pour alléger le profil utilisateur :

FSLogix redirections.xml fournit des fonctionnalités qui permettent d’exclure certaines parties du profil d’un utilisateur du conteneur d’un utilisateur

Microsoft Learn

Dans cet article, nous allons prendre de temps de tester deux configurations FSLogix (avec / sans la redirection) afin de mesurer le gain d’espace en résultant.

Etape 0 – Rappel des prérequis :

Pour réaliser cet exercice sur FSLogix , il vous faudra disposer de :

  • Un tenant Microsoft
  • Une souscription Azure valide

Etape I – Déploiement du domaine managé Azure AD DS :

Il est possible d’effectuer ce test avec un domaine Active Directory ou via le service managé Azure AD DS. N’oubliez pas qu’il est pas encore possible de faire du roaming profile uniquement basé sur Azure AD, car l’intégration d’un compte de stockage Azure nécessite encore et toujours un environnement hybride.

Dans mon cas, j’ai choisi de déployer un Azure AD DS, que vous retrouvez dans le menu suivant :

Configurez-le de manière avant de pouvoir le déployer :

Lancez le déploiement, puis attendez une bonne heure que la configuration se termine entièrement :

Une fois le service Azure AD DS entièrement déployé, pensez à corriger les serveurs de DNS sur votre réseau virtuel Azure :

Profitez-en pour créer d’autres sous-réseaux selon les besoins de votre test :

Déployez également un Azure Bastion afin de vous connecter plus facilement sur les machines virtuelles Azure sans ouvrir de port RDP :

Complétez tous les champs pour créer votre Azure Bastion sur votre réseau virtuel :

Une fois la validation passée, cliquez sur Créer :

Afin de configurer notre domaine AD et de créer des GPOs FSLogix, nous allons avoir besoin d’une machine virtuelle de management.

En effet, les machines gérant le service Azure AD DS ne vous sont pas accessible. Rien ne nous empêche de gérer votre domaine grâce à une autre machine virtuelle disposant des fonctionnalités adéquates.

Etape II – Création d’une machine virtuelle de management :

N’attendez pas la fin de la création d’Azure Bastion pour créer votre machine virtuelle sur Azure. Un article dédié à la création de votre première machine virtuelle se trouve juste ici.

Renseignez tous les champs du premier onglet, puis cliquez sur Suivant :

Sur le second onglet, cliquez sur Suivant :

Reprenez votre réseau virtuel déjà en place, choisissez le bon sous-réseau, retirez l’adresse IP publique inutile, puis lancez sa création :

N’attendez pas la fin de la création de votre machine virtuelle de management pour créer un premier compte de stockage.

Etape III – Créations de deux comptes de stockage :

Le compte de stockage va vous servir pour stocker les profils FSLogix.

Cliquez-ici pour commencer sa création :

Donnez-lui un nom unique, les autres caractéristiques importent peu pour notre test, puis cliquez sur Suivant :

Cliquez sur Suivant pour passer au troisième onglet :

Restreignez l’accès public en spécifiant le réseau virtuel et les sous-réseaux adéquats pour nos tests FSLogix :

Une fois la validation passée, cliquez sur Créer :

Une fois la création terminée, retournez sur votre compte de stockage pour y ajoutez votre IP publique dans les règles de réseau :

Cliquez ici pour créer un partage de fichier sur ce compte de stockage :

Nommez le nom de ce partage et conservez la capacité provisionnée par défaut :

Cliquez-ici pour joindre votre compte de stockage à votre domaine Azure AD DS :

Dans le cadre d’un domaine Azure AD DS, choisissez l’option se trouvant au milieu :

Cochez la case ci-dessous, puis Sauvegarder :

Quelques secondes plus tard, le statut Active Directory change. Cliquez sur le nom de votre partage réseau :

Assignez des rôles RBAC à vos utilisateurs via le menu suivant :

Commencez par assigner un administrateur avec le rôle ci-dessous :

Choisissez l’administrateur adéquat dans votre Azure AD, puis validez l’assignation :

Refaite une seconde opération d’assignation, avec le rôle suivant, pour votre utilisateur de test AVD :

Choisissez l’utilisateur AVD adéquat dans votre Azure AD, puis validez l’assignation :

Une fois les assignations correctement faites, vérifiez que celles-ci sont bien présentes :

Comme nous souhaitons disposer deux environnements AVD, l’un avec la redirection et l’autre sans, refaites à nouveau l’étape du compte de stockage pour en créer un second, configuré de la même façon :

Etape IV – Configuration du serveur de management :

Connectez-vous à votre machine virtuelle de management grâce au service Azure Bastion :

Renseignez les identifiants d’administrateur local renseignés lors de la création de la VM :

Dans la console Server Manager, cliquez sur WORKGROUP pour joindre cette machine au domaine Azure AD DS :

Cliquez-ici pour modifier la configuration de domaine :

Saisissez le nom de votre domaine Azure AD DS, puis cliquez sur OK :

Renseignez les identifiants d’un compte de votre Azure AD et répliqué sur Azure AD DS :

Cliquez sur OK :

Redémarrez votre machine virtuelle de management :

Une fois redémarrée, dans la console Server Manager, vérifiez la bonne jointure du domaine Azure AD DS :

Cliquez-ici pour ajouter les fonctionnalités de gestion du domaine AD :

Cliquez sur Suivant :

Cliquez sur Suivant :

Cliquez sur Suivant :

Cliquez sur Suivant :

Cochez les cases des fonctionnalités suivantes :

  • Group Policy Management
  • Remote Server Administration Tools

Puis cliquez sur Suivant :

Cliquez sur Suivant :

Cliquez sur Suivant :

Cliquez sur Installer :

Cliquez sur Fermer :

Fermez la session Windows de votre administrateur local

Sur le portail Azure, retournez sur le partage de fichier de votre premier compte de stockage dédié à FSLogix :

Récupérez la commande PowerShell pour créer un lecteur réseau Z, grâce à la clef du compte de stockage :

$connectTestResult = Test-NetConnection -ComputerName jlostoprem.file.core.windows.net -Port 445
if ($connectTestResult.TcpTestSucceeded) {
    # Save the password so the drive will persist on reboot
    cmd.exe /C "cmdkey /add:`"jlostoprem.file.core.windows.net`" /user:`"localhost\jlostoprem`" /pass:`"odE9TV8+6IzIYVezHtzS2xcESUL2oegoqjEqhcQcBPAPIKMuZsNob0UErXTGyGU2d986MuhWPQme+AStVF/ofA==`""
    # Mount the drive
    New-PSDrive -Name Z -PSProvider FileSystem -Root "\\jlostoprem.file.core.windows.net\fslogix-profile" -Persist
} else {
    Write-Error -Message "Unable to reach the Azure storage account via port 445. Check to make sure your organization or ISP is not blocking port 445, or use Azure P2S VPN, Azure S2S VPN, or Express Route to tunnel SMB traffic over a different port."
}

Retournez sur la machine virtuelle de management, puis ouvrez à nouveau une session RDP avec un compte d’administration Azure AD DS :

Ouvrez PowerShell ISE, collez la requête précédemment récupérée sur le compte de stockage, puis lancez-là :

Un premier lecteur réseau apparaît alors dans le poste de travail :

Modifiez la propriété de sécurité de ce lecteur réseau via la fonction Avancé :

Ajoutez un droit pour le compte administrateur Azure AD DS avec la configuration suivante :

Ajoutez un droit pour votre utilisateur de test AVD avec la configuration suivante :

Le résultat des droits sur le partage réseau devrait correspondre à cela :

Refaites les mêmes opérations sur le second compte de stockage :

  • Commande PowerShell pour monter le disque réseau Y
  • Propriété – Sécurité pour les deux utilisateurs

Etape V – Configurations des GPOs FSLogix :

Retournez sur la console Server Manager, puis cliquez-ici :

Désactivez la protection renforcée d’Internet Explorer, puis cliquez sur OK :

Depuis le menu Démarrer, ouvrez Microsoft Edge :

Rendez-vous à l’adresse internet suivante pour télécharger la configuration ADMX pour FSLogix :

https://learn.microsoft.com/en-us/fslogix/how-to-install-fslogix#download-fslogix

Cliquez-ici pour démarrer le téléchargement sous format ZIP :

Ouvrez l’archive ZIP précédemment téléchargée :

Copiez le fichier fslogix.admx dans le dossier suivant :

%SYSTEMROOT%\PolicyDefinitions

Copiez le fichier fslogix.adml dans le dossier suivant :

%SYSTEMROOT%\PolicyDefinitions\en-US

Toujours sur la console Server Manager, ouvrez le gestionnaire des GPOs :

Créez une première nouvelle OU pour notre environnement contenant la redirection FSLogix :

Cliquez comme ceci pour ajouter une GPO à cette première OU nouvellement créée :

Nommez cette GPO :

Cliquez ici pour configurer cette nouvelle police :

Descendez dans l’arborescence suivante :

  • Computer Configuration
    • Policies
      • Administrative templates
        • FSLogix
          • Profile Containers

Activez et configurez les options suivantes :

Renseignez le chemin utilisé pour le montage de votre premier disque réseau Z :

\\jlostoprem.file.core.windows.net\fslogix-profile

Descendez d’un niveau dans l’arborescence :

Activez et configurez les options suivantes :

Comme ce premier environnement va contenir la redirection FSLogix, positionnez-vous sur l’arborescence suivante :

Activez et configurez l’option suivante :

Renseignez le même chemin utilisé pour le montage de votre premier disque réseau Z :

\\jlostoprem.file.core.windows.net\fslogix-profile

Copiez le fichier de redirection « redirections.xml » à la racine du dossier précédemment indiqué, afin de le rendre accessible à tous.

Voici pour rappel la configuration utilisée pour mon test :

<?xml version="1.0"  encoding="UTF-8"?>
<FrxProfileFolderRedirection ExcludeCommonFolders="0">
<Excludes>
<Exclude Copy="0">AppData\Roaming\Microsoft\Teams\media-stack</Exclude>
<Exclude Copy="0">AppData\Local\Microsoft\Teams\meeting-addin\Cache</Exclude>
<Exclude Copy="0">AppData\Local\Microsoft\Outlook</Exclude>
<Exclude Copy="0">AppData\Local\Microsoft\OneDrive</Exclude>
<Exclude Copy="0">AppData\Local\Microsoft\Edge</Exclude>
</Excludes>
<Includes>
<Include>AppData\Local\Microsoft\Edge\User Data</Include>
</Includes>
</FrxProfileFolderRedirection>

Afin de tester la redirection FSLogix, pensez à rajoutez une seconde OU en la liant à une nouvelle police FSLogix, avec exactement la même configuration, à l’exception de la redirection FSLogix :

Nous allons maintenant pouvoir tester l’impact de la configuration FSLogix, avec et sans la redirection XML.

Etape VI – Configurations des 2 Azure Virtual Desktop :

Pour cela, créez votre premier environnement AVD :

Cliquez sur Créer :

Renseignez les champs du premier onglet, puis cliquez sur Suivant :

Ajoutez une ou plusieurs machines virtuelles AVD, en les joignant à la première OU votre domaine Azure AD DS, puis cliquez sur Suivant :

Ajoutez un Espace de travail à votre environnement AVD, puis lancez la validation :

Une fois la validation passée, cliquez sur Créer :

Une fois votre premier environnement AVD correctement créé, lancez la création d’un second AVD, en joignant cette fois ci les VMs à la seconde OU votre domaine Azure AD DS :

Sur les deux pools d’hôtes AVD, ajoutez votre utilisateur de tests AVD afin de l’autoriser à s’y connecter :

Les deux environnements AVD sont enfin prêts, il vous reste plus qu’à vous connectez sur les deux environnement AVD en simultané.

Etape VII – Tests des 2 Azure Virtual Desktop :

Sur la session Azure Bastion de la machine de management d’Azure AD DS, ouvrez deux explorateurs de fichier pour constater la variation de taille sur les profils FSLogix :

Sur votre poste, ouvrez un navigateur privé, puis rendez-vous sur l’URL AVD suivante :

aka.ms/wvdarmweb

Renseignez les identifiants de votre utilisateur AVD de test :

Ouvrez, une par une, les deux sessions AVD disponibles :

Sur la machine virtuelle FSLogix avec la redirection, ouvrez l’explorateur Windows sur le chemin suivant :

C:\ProgramData\FSLogix\Logs\Profile

Ouvrez le fichier de log ci-dessous :

Recherchez le mot « redirections« , puis vérifiez juste en-dessous la bonne prise en compte de votre configuration XML :

Sur deux machines virtuelles de test AVD, notez pour l’utilisateur de test la présence systématique deux dossiers suivants :

De retour sur votre portail Azure, retournez sur la session Azure Bastion, puis constatez l’apparition des 2 dossiers de profil :

Détaillez les 2 dossiers, puis comparez la taille identique des 2 fichiers VHDX :

Sur chacune des sessions AVD, configurer le même compte Outlook :

Attendez quelques minutes le chargement complet d’Outlook :

Quelques minutes plus tard, retournez sur la session Azure Bastion et constatez l’écart de taille entre les deux profils FSLogix :

Continuez l’exercice avec la configuration du même compte OneDrive sur les deux sessions AVD :

L’écart continue encore de se creuser :

Lancez une synchronisation OneDrive forcée sur les deux sessions AVD :

Les 2 profiles grossissent fortement, quelques minutes plus tard, l’écart est proportionnellement moins important que précédemment :

Finissions la comparaison avec l’ouverture de Microsoft Teams sur les 2 sessions AVD :

Là encore les deux profils AVD continuent de grossir fortement :

Conclusion

Suite aux différents tests menés précédemment, il existe bien un gain dans la taille du profile FSLogix une fois la redirection configurée. Cela reste malgré tout modeste par profil, mais cela sera très conséquent pour plusieurs dizaines d’utilisateurs AVD.

Enfin, comme Dean le rappelle dans la vidéo ci-dessous :

  • Les profils FSLogix peuvent grossier sans limite, mais la réduction n’est plus possible
  • Il est important bien configurer la redirection en tenant compte des compatibilités !
  • La désactivation de la redirection est impossible mais prendra du temps pour s’appliquer sur tous les profils

Un commentaire sur “Allégez vos profils FSLogix !

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *