Aggiungere i language pack a Windows 10/11 in Azure Virtual Desktop e Windows 365
Una delle necessità quando si utilizza Azure Virtual Desktop o Windows 365 è quella di modificare la lingua dall’inglese (predefinita) all’italiano (ma non solo) per soddisfare le esigenze di chi lo utilizza. In questa guida vi mostrerò come installare il language pack in Windows 11 in modo semplice e veloce. In questo modo, potrete utilizzare il vostro sistema operativo nella lingua che preferite e personalizzare la vostra esperienza utente.
La procedura è valida anche se usate Windows 10 e anche nel caso in cui il sistema sia multisessione.
Le guide ufficiali Microsoft fanno riferimento al download e installazione delle Feature on Demand, che sono diversi per ogni versione di Windows 10 e Windows 11. Le Features on Demand (FODs) sono dei pacchetti aggiuntivi di funzionalità che possono essere aggiunti in qualsiasi momento alle installazioni di Windows 10/11. Generalmente vengono installati utilizzando Windows Update, come nel caso in cui vogliamo installare .Net Framework oppure il riconoscimento della scrittura a mano (Handwriting Recognition), ma è anche possibile installarli offline scaricando gli appositi file ISO. Trovate i riferimenti ufficiali alla pagina Install language packs on Windows 10 VMs in Azure Virtual Desktop e alla pagina Install language packs on Windows 11 Enterprise VMs in Azure Virtual Desktop
Esiste però un modo più semplice per installare i language pack. Da Windows 10 20H2 è stata inserito nel sistema operativo il modulo di PowerShell che si chiama Install-Language.
Creazione della master image da utilizzare in Azure Virtual Desktop
Per creare la master image da utilizzare per distribuire i nuovi host pool in Azure Virtual Desktop ho semplicemente creato una nuova VM nel portale di Azure, scegliendo la versione di Windows da distribuire. Per questa guida ho utilizzato Windows 11 Enterprise multi-session 22H2.
Collegatevi in remoto alla VM e aprite un prompt di PowerShell con privilegi amministrativi. Per vedere quale lingua è installata nel sistema operativo utilizzate la cmdlet Get-InstalledLanguage
Figura 1: Verifica della lingua installata nel sistema operativo
Per installare un nuovo language pack utilizzate la cmdlet Install-Language it-IT , dove it-IT è il tag bcp47 che fa riferimento alla lingua da installare. Le lingue vengono infatti identificate usando tag di lingua BCP-47 normalizzati.
Figura 2: Installazione del language pack utilizzando PowerShell
Mettevi comodi perché l’installazione del language pack e delle funzionalità aggiuntive (OCR, TextToSpeech, Handwriting) dura alcuni minuti.
Figura 3: Installazione del Language pack terminata
Procedete così ad installare tutte le lingue aggiuntive che desiderate.
Per cambiare la lingua predefinita del sistema operativo è possibile utilizzare il modulo PowerShell Set-SystemPreferredUILanguage e lanciare il comando Set-SystemPreferredUILanguage it-IT , dove it-IT è il tag bcp47 che fa riferimento alla lingua da impostare come predefinita. Con la cmdlet Get-SystemPreferredUILanguage potrete verificare se tutto è stato configurato correttamente.
Figura 4: Modifica della lingua predefinita del sistema operativo
Per poter visualizzare la nuova lingua sarà necessario riavviare la macchina o semplicemente effettuare un logoff/logon dell’utente.
Figura 5: La lingua predefinita del sistema operativo adesso è in italiano
NOTA: Utilizzando il comando Install-Language it-IT -CopyToSettings sarà possibile installare la lingua ed impostarla predefinita in una singola operazione, modificando anche i formati regionali oltre al Windows Display Language.
Distribuzione dell’immagine personalizzata
Adesso che avete terminato di preparare la vostra immagine potete generalizzarla e catturarla per poterla poi aggiungere ad una Azure Compute Gallery. Da lì poi potrete utilizzarla per distribuire i nuovi Azure Virtual Desktop Host Pool.
Per generalizzare la VM utilizzate il comando C:\Windows\System32\Sysprep\sysprep.exe /oobe /generalize /shutdown /mode:vm
Figura 6: Generalizzazione della VM, necessaria alla sua successiva distribuzione
Dal portale di Azure stoppate e deallocate la macchina e successivamente procedete alla cattura, facendo clic sul tasto Capture. Non è scopo di questa guida mostrare nel dettaglio come avviene la cattura e la successiva distribuzione. Se volete approfondire ho scritto la guida Automatizzare la distribuzione e l’installazione di applicazioni nelle Azure VM utilizzando Azure Compute Gallery e VM Applications – ICT Power
Figura 7: Stop e deallocate della VM per procedere alla fase di Capture
Inserite le informazioni richieste per la creazione di una nuova immagine, scegliendo la Azure Compute Gallery dove posizionarla.
Figura 8: Creazione di una nuova immagine e inserimento in una Azure Compute Gallery
Figura 9: Informazioni relative alla creazione della nuova immagine
La creazione della nuova immagine dura qualche minuto. Al termine sarà visibile nella Azure Compute Gallery che avete scelto.
Figura 10: La nuova immagine è presente nella Azure Computer Gallery scelta
D’ora in poi quando vorrete distribuire o aggiornare un Azure Virtual Desktop Host pool potrete utillizzare l’immagine personalizzata con il language pack dalla Azure Compute Gallery
Figura 11 Utilizzo di un’immagine personalizzata con il language pack per la creazione di un Azure Virtual Desktop Host pool
Utilizzo di Microsoft Intune per l’aggiornamento del language pack
Se avete già distribuito i vostri Host pool e volete modificare e aggiungere un nuovo language pack potrete servirvi di una GPO per distribuire uno script PowerShell per il computer oppure utilizzare Microsoft Intune per la distribuzione dello stesso script.
Io nello script ho messo il comando completo Install-Language it-IT -CopyToSettings
Figura 12: Utilizzo di Microsoft Intune per distribuire uno script PowerShell che installa il language pack
Figura 13 la lingua del sistema è stata cambiata correttamente
Conclusioni
L’installazione di un language pack in Windows è un processo semplice e veloce che consente di modificare la lingua del sistema operativo e di molte altre applicazioni. L’operazione è enormemente semplificata grazie all’utilizzo di una semplice modulo PowerShell e la distribuzione della lingua preferita dagli utenti nella nostra infrastruttura di Azure Virtual Desktop o di Windows 365 è veloce e indolore.