Le service Azure Virtual Desktop recommande les conteneurs de profils FSLogix en tant que solution de profil utilisateur. FSLogix utilise des profils itinérants dans les environnements informatiques distants, tels que Azure Virtual Desktop.
Dans cet article nous mettrons en place Fslogix avec Active Directory et Azure Files.
Définition
FSLogix est conçu pour l’itinérance des profils dans des environnements informatiques à distance comme Azure Virtual Desktop. Il stocke un profil utilisateur complet dans un seul conteneur. Lors de la connexion, ce conteneur est attaché de manière dynamique à l’environnement informatique à l’aide d’un disque dur virtuel (VHD) et d’un disque dur virtuel Hyper-V (VHDX) pris en charge en mode natif.
Les fichiers VHD ou VHDX sont stockés à cet emplacement et joints aux utilisateurs lors de leur prochaine connexion.

Le diagramme suivant illustre le processus d’obtention du profil utilisateur après la connexion au client Bureau à distance.

1.L’utilisateur se connecte au client Remote Desktop.
2. L’utilisateur est affecté à une machine virtuelle d’hôte de session (VM).
3. La machine virtuelle obtient le profil utilisateur à partir du partage de fichiers Azure.
4. (Facultatif) Si MSIX App Attach est configuré, les applications sont distribuées dynamiquement à la machine virtuelle hôte de la session. MSIX App Attach utilise les concepts de stockage FSLogix, mais uniquement pour les applications.
5. L’utilisateur dispose de l’espace de travail virtuel Azure sur les applications ou le bureau de la session.
Le profil utilisateur est immédiatement disponible et apparaît dans le système exactement comme un profil utilisateur natif.
Fslogix inclut :
- Profile Container
- Office Container
- Application Masking
- Java Version Control
Licence Fslogix
Voici les licences compatibles avec Fslogix :
- Microsoft 365 E3/E5
- Microsoft 365 A3/A5/ Student Use Benefits
- Microsoft 365 F1/F3
- Microsoft 365 Business
- Windows 10 Enterprise E3/E5
- Windows 10 Education A3/A5
- Windows 10 VDA per user
- Remote Desktop Services (RDS) Client Access License (CAL)
- Remote Desktop Services (RDS) Subscriber Access License (SAL)
Création du compte de stockage
Pour la mise en place de Fslogix , il faut d’abord créer un compte de stockage. On ouvre le compte de stockage , on clique sur create

Puis on sélectionne la subscription et un groupe de ressources . On donne un nom au compte de stockage fslbass ( il doit être unique) et on sélectionne la région.
On sélectionne Performances type : Standard , le type de redondance : LRS et on appuie sur Suivant : Advanced.

Dans Advanced , on laisse la configuration par défaut.

Puis on appuie sur Next : Networking . On sélectionne le point de terminaison Privé et on désactive l ‘accès public ( pour des raisons de sécurité) et on clique sur Add.

On sélectionne la subscription , un groupe de ressources et région . On donne un nom au private endpoint , on sélectionne file pour le sous-ressource de stockage , on choisit le sou réseau bassavd_Vnet et le sous-réseau fslogix_subnet.
Sous DNS Privée , définir Zone DNS Privée Zone sur Oui.

Le private endpoint privatefslogix est crée.

Puis on clique sur Data Protection : on laisse la configuration par défaut.

Puis sur Encryption , on choisit Microsoft-Managed keys.

On renseigne les tags.

On clique sur Review , et enfin on appuie sur create.

Le déploiement a réussi.


Création du file Share
Après la création du stockage , nous allons créer le partage de fichiers pour stocker les profils itinérants . On clique sur file share .

On met le nom fslbass et on choisit le tier : Transaction optimized .
On donne un nom à ce partage de fichiers et on indique le nbre de Go par capacité provisionnée . La taille par défaut d’un conteneur de profil Fslogix est de 30Go ,
On clique sur Créer.

Notre file share est bien crée.

Après la création du file shares , on crée un dossier qui va contenir les profils des utilisateurs .


Joindre le compte de stockage au contrôleur de domaine
Pour cette étape, on doit se connecter au contrôleur de domaine et télécharger le module AzFilesHybrid PowerShell à partir d’ici: https://github.com/Azure-Samples/azure-files-samples/release
Après le téléchargement, on décompresse le fichier dans un dossier tel que c:\Documents\AzFilesHybrid.
On démarre une invite PowerShell élevée et exécutez les commandes suivantes :
Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope CurrentUser
Dans l’invite PowerShell, accédez à c:\Documents\AzFilesHybrid et on exécute la commande suivante :
Import-Module -Name .\AzFilesHybrid.psd1
Le module Az PowerShell est requis, s’il n’est pas déjà installé sur la machine, il vous sera demandé de l’installer à ce moment, tapez A pour Oui à tous
On se connecte à Azure via PowerShell en exécutant la commande suivante :
Connect-AzAccount
Une invite de connexion apparaîtra, , on se connecte avec un compte Azure Global Administrator.
Sélectionnez un abonnement Azure en exécutant la commande suivante:
Select-AzSubscription -SubscriptionName « <your subscription name> »
Join-AzStorageAccountForAuth -ResourceGroupName storage-rg -StorageAccountName fslbass -DomainAccountType « ComputerAccount » – OrganizationalUnitDistinguishedName « OU=Storage,OU=bass12,DC=fr »



Configuration du private endpoint
On va configurer le private endpoint sur notre contrôleur de domaine pour limiter l ‘accès du storage . Pour cela on récupère l’adresse ip.

Puis on créé une dns zone ; il faut ouvrir DNS Manager dans forward lookup zones , on crée un primary zone.

Après la création de la zone , on ajoute l’enregistrement A avec le nom du stockage et mettre l ‘adresse IP 10.2.0.4 .


Configuration du contrôle d’accès IAM
On doit définir certaines autorisations sur le compte de stockage, il doit y avoir un administrateur (ou un groupe d’administrateurs) avec les droits rôle Collaborateur à privilèges élevées de partage SMB des données et du fichier de stockage pour définir les autorisations NTFS sur le partage de fichiers. À côté de l’administrateur, tous les utilisateurs qui utiliseront le conteneur de profil FSLogix doivent disposer des droits Collaborateurs de partage SMB des données du fichier de stockage.
On a deux groupes dé securité déjà crée sur notre domain controller : VDIADMINS ET VDIUSERS

Une fois les groupes de sécurité AD synchronisés avec Azure AD, accédez à votre compte de stockage dans le portail Azure et ouvrez le panneau Contrôle d’accès (IAM). Dans la partie Ajouter une attribution de rôle, cliquez sur add

Ajouter le rôle Data SMB Share Contributor au groupe de sécurité VDIUSERS .


Ajouter le rôle Storage Files Data SMB Share Elevated Contributor au groupe de sécurité VDIADMINS.


Configuration des droits NTFS
On va monter le stockage sur le domain controller et on donne les droits NTFS avec ce script :
$connectTestResult = Test-NetConnection -ComputerName fslbass.file.core.windows.net -Port 445
if ($connectTestResult.TcpTestSucceeded) {
# Mount the drive
New-PSDrive -Name Z -PSProvider FileSystem -Root « \fslbass.file.core.windows.net\vdi-bass-01 » -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. »
}

le file share est bien monté.

Puis on donne les droits de lecture , écriture aux utilisateurs qui auront accès au file share : \\fslbass.file.core.windows.net\vdi-bass-01\Profiles
On ouvre le file share et on clique sur le bouton Propriétés. On ouvre l’onglet Sécurité et on clique sur Avancé.
On rajoute VDIUSERS ( lecture , écriture et modification ) , et VDIADMINS ( contrôle total)

Configuration Fslogix Profile Container via GPO
La dernière étape de mise en œuvre consiste à configurer et à activer FSLogix dans l’environnement Azure Virtual Desktop. On le fait via GPO
La source d’installation de FSLogix inclut un fichier ADMX et ADML personnalisé. voici le lien de telechargement : https://aka.ms/fslogix-latest
Copiez le fichier fslogix.admx dans le dossier \\<AD Domain Name > SYSVOL \<AD Domain Name\Policies\PolicyDefinitions.
Copier le fichier fslogix.adml dans le dossier \\<AD Domain Name > SYSVOL \<AD Domain Name\Policies\PolicyDefinitions\en-US

On crée un objet de stratégie de groupe qui s’appliquera aux machines virtuelles hôtes de session du pool d’hôtes Azure Virtual Desktop.
Puis on ouvre notre GPO puis on y accède:
Computer Configuration > Policies > Administrative Templates > FSLogix > Profile Containers
Activer les paramètres suivants :
Enabled : Activer le service
VHD location : Lors de l’activation du paramètre d’emplacement VHD, définissez l’emplacement sur le chemin UNC du partage de fichiers Azure : \\fslbass.file.core.windows.net\vdi-bass-01\Profiles

On navigue dans Computer Configuration > Policies > Administrative Templates > FSLogix > Profile Containers > Container and Directory Naming
Activer les paramètres suivants :
• Virtual disk type : VHDX
• Swap directory name components : Activé

Test d’un utilisateur
Après la mise en place du GPO , on va tester la configuration .
Pour cela l ‘utilisateur UserAVD2@bass12.fr va se connecter avec le client web https://client.wvd.microsoft.com/arm/webclient/index.html



Le profil de l’utilisateur UserAVD2 est crée lors de sa première connexion et authentification . On voit bien le disque Profile_UserAVD2.VHDX.
L’utilisateur peut maintenant se connecter sur n’importe quelle machine sur le pool d’hôtes en gardant ces données , ces paramètres de bureau , ces paramètres de réseau et ces paramètres d’application.

Conclusion
Nous avons vu sur cet article , la mise en place de fslogix sur un environnement AVD avec active Directory et azure Files . FSLogix améliore et active les profils utilisateur dan des environnements informatiques distants .
Le prochain article portera sur MSIX App Attach .