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-intl, que sur les anciennes versions de Windows 10, la configuration « Default system UI language » était modifiée lorsque le pack de langue était 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).
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.
Au niveau des registres, on remarque que contrairement à la version 1909, la langue d’installation reste inchangée et demeure donc à 0C0C (fr-CA).
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.
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.
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).
Pour obtenir cette valeur nous utilisons la commande PowerShell
« Get-WinSystemLocale ».
Cette commande nous retourne les valeurs suivantes:
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.
Finalement, nous modifions les types de déploiement pour utiliser cette condition globale.
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.