Gestion multi-langues sur Windows10 20H2 et ConfigMgr


  • Share on Pinterest

Introduction

Dans cet article nous traitons de la modification de la configuration sur Windows 10 20H2 lors de l’application d’un pack de langue et de l’impact sur le déploiement d’application avec ConfigMgr. Nous vous démontrons aussi comment procéder pour pallier à ce problème.

Changement de la configuration multi-langues su Windows 10

Depuis la version 2004 de Windows 10, Microsoft a modifié la configuration lors de l’application d’un pack de langue en créant une différence entre la « Langue par défaut de l’interface utilisateur du système » (Default system UI language) et les « Paramètres régionaux système » (System locale). 

Dans l’exemple ci-bas nous avons configuré 2 postes, un à la version 1909 et un à la version 20H2 de Windows 10.  Le système d’opération d’origine sur tous les postes est en français (fr-CA).  Les postes en anglais ont été configurés avec un pack de langue anglais (en-CA). 

Vous pouvez remarquer ici, en exécutant la commande : 
dism /online /get-intlque sur les anciennes versions de Windows 10, la configuration « Default system UI language » était modifiée lorsque le pack de langue était appliqué.

Exemple version 1909 avec pack de langue en-CA appliqué

Il est aussi possible de remarquer ce changement au niveau des registres Windows.  On remarque ici que la langue d’installation est modifiée pour 0409 (en-US).

Valeurs des configurations de langues dans les registres Windows sous 1909

Depuis la version 2004 de Windows 10 la configuration « Default system UI language » n’est plus modifiée et garde la configuration originale du système d’opération.  Cependant, la configuration « System locale » affiche la configuration de la langue d’affichage par défaut sélectionnée, soit en-CA dans notre cas.

Exemple version 20H2 avec pack de langue en-CA appliqué

Au niveau des registres, on remarque que contrairement à la version 1909, la langue d’installation reste inchangée et demeure donc à 0C0C (fr-CA).

Valeurs des configurations de langues dans les registres Windows sous 20H2

On remarque le changement dans la configuration de la langue sous 20H2 qui ne modifie plus la configuration « Langue par défaut de l’interface utilisateur du système » (Default system UI language).  Elle demeure identifiée à la langue originale du système d’opération lors de l’installation.

Impact sur les déploiements avec ConfigMgr

Le changement dans la configuration des paramètres de langue crée un impact lors du déploiement d’application dans ConfigMgr lorsqu’on utilise la condition globale « Operating system language »

En effet, cette condition globale semble utiliser la configuration « Default system UI language » pour déterminer la langue.  Donc, lorsqu’un type de déploiement utilise une spécification en utilisant celle-ci, la détection de la langue ne fonctionne plus comme on pouvait s’y attendre puisque la valeur de la configuration « Default system UI language » n’est plus modifiée lors de l’application d’un pack de langue.

Voici un exemple:
Une application possède deux types de déploiement, soit: un pour les postes français et un autre pour les postes anglais.

Types de déploiement français et anglais

Les deux types de déploiement utilisent la condition globale « Operating system language » comme spécification pour déterminer la langue d’installation du produit.

Spécification du type de déploiement FR – Position 1

Spécification du type de déploiement EN – Position 2

Lors du déploiement de l’application ConfigMgr effectue la validation des spécifications pour déterminer quel type de déploiement utiliser pour faire l’installation. 

Sur un poste à la version 1909 il n’y a pas de problème, car la valeur de la configuration « Default system UI language » est en-US, donc, le type de déploiement qui sera sélectionné est bien celui à la position 2.

En revanche, sur un poste à la version 2004 et plus (ici 20H2), la valeur de la configuration « Default system UI language » n’est pas modifiée.  Elle demeure égale à la langue d’origine du système d’opération, soit fr-CA dans notre cas.  Donc, même sur le poste configuré avec le pack de langue anglais (en-CA) le type de déploiement à la position 1 sera installé.

Comment contourner ce problème

Pour contourner ce problème, nous devons modifier les spécifications des types de déploiement qui utilisent la condition globale « Operating system language ».  

Pour ce faire, nous devons créer une nouvelle condition globale qui détectera la langue définie par la configuration « Paramètres régionaux système » (System locale).

Valeur qui doit être validée par la condition globale

Pour obtenir cette valeur nous utilisons la commande PowerShell
« Get-WinSystemLocale ».   
Cette commande nous retourne les valeurs suivantes:

Données retournées par la commande Get-WinSystemLocale

Basé sur ceci, nous pouvons donc créer la nouvelle condition globale qu’on nommera ici « Get System Locale Language ».  Elle utilise un script PowerShell avec la commande (Get-WinSystemLocale).Name.  

Script PowerShell de la condition globale

Finalement, nous modifions les types de déploiement pour utiliser cette condition globale.

Ajout de la nouvelle condition globale au type de déploiement

En conclusion

La modification par Microsoft de la gestion des configurations de langue à partir de la version 2004 de Windows 10 cause une problématique lors des déploiements d’applications avec ConfigMgr.  En modifiant la condition globale dans les types de déploiements, nous sommes en mesure de pallier à ce problème.  

En espérant que cet article a pu vous aider à identifier ou régler le problème.