Nous savions que cela allait arriver. En août 2020, Microsoft avait annoncé la fin de support pour l’application Microsoft...

Dans cet article nous traitons de la modification de la configuration sur Windows10 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.
Depuis la version 2004 de Windows10, 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 Windows10. 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 Windows10, 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 Windows10 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.
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.
Spécification du type de déploiement FR – Position 1
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é.
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.
La modification par Microsoft de la gestion des configurations de langue à partir de la version 2004 de Windows10 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.