Utilizzare FSLogix Profile Containers per gestire i profili in Azure Virtual Desktop

Il 19 novembre 2018 Microsoft ha acquisito FSLogix. FSLogix migliora le performance dei profili remoti e può essere usato per conservare i profili in posizioni remote e riutilizzarli su più computer, specialmente quando si lavora con i servizi di desktop remoto.

FSLogix consente di:

  • Effettuare il Roaming dei dati utente tra host di sessione di elaborazione remota
  • Ridurre al minimo i tempi di accesso per gli ambienti desktop virtuali
  • Ottimizzare le operazioni di I/O dei file tra host/client e archivio profili remoto
  • Offrire un’esperienza di profilo locale, eliminando la necessità di profili mobili.
  • Semplificare la gestione delle applicazioni e delle “immagini Gold”
  • Specificare la versione di Java che deve essere utilizzata da URL e applicazioni specifiche

È possibile usare FSLogix se si dispone di una delle seguenti licenze:

  • Microsoft 365 E3/E5
  • Microsoft 365 A3/A5/ Vantaggi per l’uso degli studenti
  • Microsoft 365 F1/F3
  • Microsoft 365 Business
  • Windows 10 Enterprise E3/E5
  • Windows 10 Education A3/A5
  • Windows 10 VDA per utente
  • Servizi Desktop remoto licenza CAL (Client Access License) di Servizi Desktop remoto
  • Servizi Desktop remoto (RDS) Subscriber Access License (SAL)
  • Licenza di accesso per utente di Desktop virtuale di Azure

Le soluzioni FSLogix possono essere usate in qualsiasi data center pubblico o privato, purché l’utente abbia la corretta licenza. FSLogix opera in tutti i sistemi operativi supportati da Microsoft più di e include:

  • Desktop – Windows 7 e successivi
  • Server – Windows Server 2008 R2 e successivi
  • Le soluzioni FSLogix supportano sia a 32 bit che a 64 bit

Le soluzioni FSLogix sono molto vantaggiose quando vengono usate in combinazione con Azure Virtual Desktop

In questa guida mi occuperò di integrare FsLogix con Azure Virtual Desktop e reindirizzare i profili verso una Azure File Share.

NOTA: Per chi volesse approfondire come funzionano i profili di Windows ho anche scritto l’articolo NicolaFerrini.it – Come funzionano i profili utente in Windows: Local, Roaming, Mandatory e Super Mandatory

Integrare FSLogix con Azure Virtual Desktop

Per integrare FSLogix con Azure Virtual Desktop è necessario:

Assegnare le autorizzazioni di accesso per una Azure File Share all’identità di Azure AD sincronizzata con l’identità di Active Directory

Dopo aver abilitato l’autenticazione Active Directory Domain Services (AD DS) nell’account di archiviazione, è necessario configurare le autorizzazioni a livello di condivisione per ottenere l’accesso alle condivisioni file. L’identità a cui si vuole far accedere alle risorse di condivisione file di Azure deve essere un’identità ibrida presente in Active Directory e Azure AD.

È consigliabile usare le autorizzazioni a livello di condivisione per la gestione degli accessi di alto livello per un gruppo di Azure AD che rappresenta un gruppo di utenti e successivamente sfruttare le Access Control List (ACL) di Windows per il controllo di accesso granulare a livello di cartelle e/o di file.

Sono disponibili tre ruoli predefiniti di Azure per la concessione di autorizzazioni a livello di condivisione agli utenti:

  • Storage File Data SMB Share Reader consente l’accesso in lettura alle condivisioni file di archiviazione di Azure tramite SMB.
  • Storage File Data SMB Share Contributor consente l’accesso in lettura, scrittura ed eliminazione nelle condivisioni file di archiviazione di Azure tramite SMB.
  • Storage File Data SMB Share Elevated Contributor consente la lettura, la scrittura, l’eliminazione e la modifica degli ACL di Windows nelle condivisioni file di archiviazione di Azure tramite SMB.

Per assegnare un ruolo di Azure a un’identità di Azure AD, usando il portale di Azure, selezionate la Azure File Share, scegliete Controllo di accesso (IAM) e procedete all’assegnazione dei ruoli, come mostrato nelle figura sotto:

Figura 1: Configurazione dei permessi di accesso alla Azure File Share

Figura 2: Scelta dei permessi di accesso alla Azure File Share

Figura 3: Assegnazione dei permessi di accesso alla Azure File Share al gruppo di Azure AD

Figura 4: Verifica della corretta assegnazione dei permessi di accesso alla Azure File Share

Configurare le autorizzazioni a livello di directory e di file

Dopo aver assegnato le autorizzazioni a livello di Azure File Share con il controllo degli accessi in base al ruolo, è necessario configurare le Access Control List (ACL) di Windows appropriati a livello di cartella o di file. Le ACL di Windows operano a un livello più granulare per permettere le operazioni che l’utente può eseguire a livello di directory o di file. Quando un utente tenta di accedere a un file o a una directory, vengono applicate sia le autorizzazioni a livello di condivisione che di file/directory. Se si verifica una differenza tra di esse, verrà applicata solo quella più restrittiva.

Le ACL possono essere modificate graficamente tramite Esplora risorse oppure utilizzando la cmdlet Set-Acl o il tool icacls

Montare una Azure File Share in una macchina joinata ad Active Directory

Recuperate le credenziali per accedere allo storage account dal portale di Azure

Figura 5: Recupero delle credenziali per accedere allo storage account dal portale di Azure

Per montare la Azure File Share in una macchina joinato al dominio è sufficiente utilizzare il comando

oppure in alternativa usare Esplora risorse e mappare l’unità di rete.

Figura 6: Montaggio della Azure File Share come unità di rete

Figura 7: Azure File Share montata come unità di rete

Modificate quindi i permessi per poter far accedere i gruppi che utilizzeranno Azure Virtual Desktop. Nel mio caso ho dato il controllo completo al gruppo Amministratori Azure Virtual Desktop e il permesso di modifica al gruppo Utenti Azure Virtual Desktop, che ho creato nel mio dominio e che ho sincronizzato con Azure AD Connect. Potete utilizzare PowerShell oppure Esplora Risorse. Nel mio caso ho utilizzato il comando icacls. Per conoscere le opzioni del comando icacls.exe e la sintassi per configurare i permessi su file e cartelle potete visitare la pagina icacls | Microsoft Docs

Figura 8: Modifica dei permessi NTFS di accesso alla Azure File Share

Figura 9: Permessi NTFS assegnati alla Azure File Share

Configurare FSLogix sulle macchine dell’Host Pool di Azure Virtual Desktop

Per installare il client di FSLogix sulle macchine dell’Host Pool di Azure Virtual Desktop potete seguire tutti i passaggi descritti nella guida Install FSLogix Agent – FSLogix | Microsoft Docs.

Nel mio caso ho un Host Pool di 3 macchine che si chiama Produzione. È possibile installare il client in maniera manuale oppure utilizzare Microsoft Endpoint Manager. Trovate una guida dettagliata alla pagina Azure Virtual Desktop, Azure AD e Endpoint Manager: l’evoluzione del Modern Desktop – ICT Power

NOTA: Per approfondire come distribuire le applicazioni utilizzando Microsoft Endpoint Manager è disponibile anche la guida Microsoft Endpoint Manager – Microsoft Intune – Distribuire e gestire le applicazioni in Windows 10 e Windows 11 – ICT Power

Figura 10: Host Pool di Azure Virtual Desktop

Figura 11: Computer account dell’Host Pool di Azure Virtual Desktop

Scaricare l’FSLogix client dal link https://aka.ms/fslogix/download e procedete all’installazione come indicato alla pagina Install FSLogix Agent – FSLogix | Microsoft Docs. Di seguito sono mostrati i passaggi nel caso decidiate di installare manualmente il client.

Figura 12: Installazione del client a 64 bit di FSLogix

Figura 13: Installazione del client di FSLogix completata e riavvio dell’host

Terminato il riavvio dell’host potete procedere all verifica dell’avvenuta installazione controllando il percorso C:\Program Files\FSLogix\Apps. All’interno del percorso troverete anche l’app frxxtray.exe che vi darà indicazioni sull’utilizzo del profilo.

Figura 14: Verifica dell’installazione di FSLogix

Nel computer verranno anche creati 4 gruppi locali che potranno essere utilizzati per includere o escludere dei gruppi dall’utilizzo dei container FSLogix.

Figura 15: Gruppi locali creati dal client FSLogix

Configurazione dei profili FSLogix utilizzando le Group Policy

È possibile configurare i profili FSLogix utilizzando le Group Policy, come ben spiegato nell’articolo Use FSLogix Group Policy Template Files – FSLogix | Microsoft Docs. Nel file .ZIP che avete scaricato e che contiene gli agent per sistemi operativi a 32 o a 64 bit ci sono anche i file ADMX e ADML che potete copiare nella cartella \\dominio\SYSVOL\dominio\Policies\PolicyDefinitions (Central Store). Il file .ADML va copiato nella sottocartella della lingua.

NOTA: Trovate maggiori informazioni sul Central Store nella guida Funzionamento delle Group Policy in Windows Server: facciamo un po’ di chiarezza – ICT Power

Figura 16: Aggiunta degli administrative templates di FSLogix al GPO Central Store

Ho creato quindi una nuova Group Policy che ho collegato alla stessa OU dove si trovano gli host dell’Azure Virtual Desktop Host Pool.

Figura 17: Gli administrative templates adesso permesso di poter configurare FSLogix via GPO

Nelle figure sotto sono mostrate le configurazioni che ho effettuato. Come VHD location ho dato il percorso della Azure File Share creata e configurata precedentemente.

Figura 18: Configurazione della VHD location di FSLogix

Figura 19: Abilitazione della funzionalità del profilo di FSLogix

Figura 20: Configurazione del limite del profilo di FSLogix

Figura 21: Scelta di utilizzare un VDH dinamico

Dopo aver modificato tutti i settaggi sarà necessario effettuare un GPUpdate su tutte le macchine dell’Host Pool o attendere che la GPO venga applicata grazie al background refresh.

Verifica dell’applicazione dell’FSLogix container

Quando l’utente si collegherà al proprio Azure Virtual Desktop verrà creato un nuovo VHD nell’Azure File Share e ogni volta che l’utente si collegherà ad un host dell’Host Pool potrà riutilizzare lo stesso profilo.

Figura 22: Creazione del profilo di FSLogix

Riaprendo il tool frxtray.exe è possibile verificare che l’utente sta effettivamente utilizzando un profilo FSlogix.

Figura 23: L’utente sta utilizzando un profilo FSlogix

Da gestione disco è anche possibile verificare l’avvenuta connessione del file VHD contenente il profilo dell’utente alla macchina virtuale dove è connesso l’utente

Figura 24: connessione del file VHD contenente il profilo dell’utente alla macchina virtuale dove è connesso l’utente

Nella Azure File Share verrà creata una cartella con il SID dell’utente seguito dalla sua USERNAME. All’interno ci sarà il file VHD con il profilo

Figura 25: Cartella con il profilo dell’utente

Figura 26: Cartella con il profilo dell’utente creata in Azure File Share

Figura 27: File VHD con il profilo dell’utente

Profile Container vs Office Container

Gli Office Containers di FSLogix sono una soluzione ideata per gestire in modo specifico i dati di Office 365 all’interno di ambienti virtualizzati, come VDI (Virtual Desktop Infrastructure) o RDS (Remote Desktop Services). A differenza dei profili utente completi che vengono gestiti dai Profile Containers, gli Office Containers si concentrano solo sui dati delle applicazioni di Office 365, come Outlook, OneDrive e Teams.

L’idea alla base degli Office Containers è quella di migliorare le prestazioni di queste applicazioni riducendo il carico sul profilo utente generale. Invece di includere tutti i dati di Office 365 all’interno del profilo completo, FSLogix crea un contenitore separato che memorizza solo questi dati. Questo approccio aiuta a ridurre la dimensione complessiva del profilo utente, consentendo prestazioni migliori soprattutto in ambienti dove la sincronizzazione dei dati di Office può essere lenta o problematica, come con grandi caselle di posta di Outlook o molteplici file di OneDrive.

Un grande vantaggio degli Office Containers è la loro capacità di essere utilizzati in modo indipendente rispetto ai Profile Containers. Questo significa che, anche se in un’azienda si utilizzano altre soluzioni per gestire i profili utente, gli Office Containers possono comunque essere implementati separatamente per gestire solo i dati di Office 365. Ciò consente di ottimizzare le prestazioni di applicazioni come Outlook senza dover cambiare completamente il sistema di gestione dei profili esistente.

Questi contenitori vengono archiviati come file VHD o VHDX su un server, e ogni volta che un utente accede alla sua sessione virtuale, il contenitore viene montato automaticamente, permettendo un accesso veloce e persistente ai dati di Office 365. Al termine della sessione, il contenitore viene smontato, assicurando che i dati siano sempre disponibili in modo coerente e protetti da eventuali problemi di connessione o sincronizzazione.

Trovate maggiori informazioni alla pagina Profile Container vs. Office Container – FSLogix | Microsoft Docs

Nella figura sotto sono mostrate tutte le Policy disponibili per la configurazione degli FSLogix Office Container:

Figura 28: Policy disponibili per la configurazione degli FSLogix Office Container

Utilizzo di Cloud Cache per aumentare la resilienza e la disponibilità

Cloud Cache di FSLogix è una funzionalità progettata per migliorare la resilienza e la disponibilità dei dati degli utenti nei contenitori FSLogix, come i Profile Containers e gli Office Containers, in ambienti virtualizzati. Il suo obiettivo principale è garantire che i profili utente e i dati delle applicazioni siano sempre disponibili, anche in caso di interruzioni del servizio o problemi di rete che possono influenzare l’accesso al file server o allo storage primario.

Come funziona Cloud Cache

Cloud Cache permette di memorizzare i dati dei contenitori in più posizioni contemporaneamente, creando una sorta di replica dei dati su più storage, sia locali che cloud. In pratica, i dati dei contenitori non sono più archiviati solo in un unico punto (come un file server), ma possono essere distribuiti su più archivi, garantendo così che se uno di questi storage dovesse fallire o diventare non disponibile, il sistema possa commutare automaticamente su un’altra copia dei dati senza impattare l’utente.

Scenari d’uso ideali

L’utilizzo di Cloud Cache è particolarmente vantaggioso in diversi scenari:

  • Aziende con più sedi: Se i dipendenti lavorano da diverse località, il Cloud Cache può garantire che i profili siano sempre disponibili, indipendentemente dalla sede o dai server di file a cui accedono.
  • Ambienti ibridi cloud/on-premises: Le aziende che utilizzano sia storage on-premise che cloud possono beneficiare della ridondanza offerta dal Cloud Cache per una disponibilità continua.
  • Disaster Recovery: In situazioni di emergenza o disastri naturali, il Cloud Cache garantisce che i profili degli utenti siano accessibili da copie remote, anche se il sito principale è offline.

Trovate maggiori informazioni alla pagina Esercitazione sulla configurazione di FSLogix Cloud Cache – FSLogix | Microsoft Docs

Figura 29: Funzionamento di Cloud Cache

Figura 30: Configurazione di Cloud Cache attraverso le GPO

Conclusioni

L’integrazione di FSLogix con Azure Virtual Desktop (AVD) rappresenta una soluzione ottimale per la gestione dei profili utente, garantendo un’esperienza fluida e senza interruzioni su postazioni diverse. Grazie alla tecnologia di contenitori di FSLogix, i profili vengono conservati in un unico file VHDx, che viene montato dinamicamente sulla macchina virtuale al momento dell’accesso. Questo approccio consente agli utenti di accedere immediatamente al proprio profilo, con tutti i dati e le impostazioni perfettamente preservati, esattamente come se si trattasse di un profilo nativo di Windows.

Il risultato è una gestione più efficiente dei profili utente in ambienti virtuali, con un miglioramento tangibile delle prestazioni, soprattutto in termini di riduzione dei tempi di accesso e caricamento. L’architettura di FSLogix su AVD semplifica anche il roaming dei profili, consentendo agli utenti di lavorare su diverse macchine virtuali senza perdere continuità o dover attendere lunghe operazioni di sincronizzazione. In un contesto sempre più orientato al cloud e alla virtualizzazione, FSLogix si dimostra una soluzione robusta e scalabile per migliorare l’efficienza operativa e la soddisfazione degli utenti.