Windows 10 Multi Language Task Sequence Deployment

Over the years, one of my customer is becoming increasingly international and the good SCCM (now MEMCM 2002), set up to deploy OS with only two languages, ​​begins to not fully support the effort that IT is carrying out to distribute Windows 10 with customized languages.

Today I am here to publish a method that has given me great satisfaction.

What is needed:

SCCM CB
Windows 10 ISO
Windows 10 Language Pack
Task Sequence Deployment

Steps:

1 – Import Operating System Image
2 – Create Windows 10 LP Packages Structure
3 – Edit Language ps1 and xml
4 – Task Sequence deployment
5 – Enjoy

1 – Import Operating System Image

The idea is to import in SCCM a single OS in “original language” en-us. Language changes must be applied later on that OS.

This image has an empty alt attribute; its file name is windows-10-multi-language-task-sequence-deployment-01-1.jpg

As soon as the package is created, remember to distribute the content to the DPs

This image has an empty alt attribute; its file name is windows-10-multi-language-task-sequence-deployment-02-1.jpg
This image has an empty alt attribute; its file name is windows-10-multi-language-task-sequence-deployment-03-1.jpg

2 – Create Windows 10 LP Packages Structure

Download Windows 10 Language Packs ISO file from your Microsoft VLSC. The 1903 version (this also covers 1909 version). Then download the ISO Language Packs:

This image has an empty alt attribute; its file name is windows-10-multi-language-task-sequence-deployment-04-1.jpg

Unpack it and create a folder structure for each language concerned

This image has an empty alt attribute; its file name is windows-10-multi-language-task-sequence-deployment-05-1.jpg

Inside each folder insert the corresponding lp cab and these two files:
Language.ps1 and language.xml

This image has an empty alt attribute; its file name is windows-10-multi-language-task-sequence-deployment-06-1.jpg

3 – Edit Language ps1 and xml

In this example we will edit the Language.ps1 and Language.xml files for the Italian OS

Edit Language.ps1 like this:

This image has an empty alt attribute; its file name is windows-10-multi-language-task-sequence-deployment-08-4.jpg

#Set Locale, language etc.
& $env:SystemRoot\System32\control.exe "intl.cpl,,/f:`"Language.xml`""
# Set Timezone
tzutil /s "W. Europe Standard Time"
# Set languages/culture
Set-Culture it-IT

Edit language.xml like this:

This image has an empty alt attribute; its file name is windows-10-multi-language-task-sequence-deployment-07-1.jpg
<gs:GlobalizationServices xmlns:gs="urn:longhornGlobalizationUnattend"> 
<!--User List-->
<gs:UserList>
    <gs:User UserID="Current" CopySettingsToDefaultUserAcct="true" CopySettingsToSystemAcct="true"/> 
</gs:UserList>
<!-- user locale -->
<gs:UserLocale> 
    <gs:Locale Name="it-IT" SetAsCurrent="true"/> 
</gs:UserLocale>
<!-- system locale -->
<gs:SystemLocale Name="it-IT"/>
<!-- GeoID -->
<gs:LocationPreferences> 
    <gs:GeoID Value="118"/> 
</gs:LocationPreferences>
<gs:MUILanguagePreferences>
	<gs:MUILanguage Value="it-IT"/>
	<gs:MUIFallback Value="en-US"/>
</gs:MUILanguagePreferences>
<!-- input preferences -->
<gs:InputPreferences>
    <!--it-IT-->
    <gs:InputLanguageID Action="add" ID="0410:00000410" Default="true"/> 
</gs:InputPreferences>
</gs:GlobalizationServices>

Below the Microsoft url to find all the info suitable for your OS settings:

Default Input Profiles (Input Locales) in Windows
InputLanguageID list:
https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/default-input-locales-for-windows-language-packs

Table of Geographical Locations
GeoID list:
https://docs.microsoft.com/en-us/windows/desktop/intl/table-of-geographical-locations

Microsoft Time Zone Index Values
TimeZone list:
https://support.microsoft.com/en-us/help/973627/microsoft-time-zone-index-values

4 – Task Sequence deployment

Machine generated alternative text:
Add • Remove @ @ 
Wndows and Manager 
Wirxiows 
it-it 
Apply Language Pack 
Restart Computer 
Run PowerShell Schot 
R.e±t Computer 
pt-tx 
Tools 
Instal Software I-Wes 
Restart Computer 
Type: 
Nan-e: 
Run PowerShel Script 
Run PowerSheI Script 
@ Select a package with a PowerShell script: 
Package: 
Language ps I 
C) Erter a PowerShell sc@t: 
Scnpt status: 
Parameters: 
No script specified 
PowerShel policy: 
Time-cd Orutes): 
C:nÄpL-1 to task sequence variable: 
15 
Run this as the folowing accoult

dism.exe /norestart /online /add-package /packagepath:.\Microsoft-Windows-Client-Language-Pack_x64_it-it.cab

This image has an empty alt attribute; its file name is windows-10-multi-language-task-sequence-deployment-11-1.jpg

5 – Enjoy

At the end of the setup you should be in this state: an OS in the language you have set.

Machine generated alternative text:
Altro utente 
nme utente 
Password 
Come accedo a un altro dominio?

Just logged in check with the below command

Get-Culture

Get-WinSystemLocale

Get-WinHomeLocation

Get-WinUserLanguageList

This image has an empty alt attribute; its file name is windows-10-multi-language-task-sequence-deployment-13-2.jpg

Get-ControlPanelItem -canonicalName Microsoft.RegionAndLanguage | Show-ControlPanelItem

Machine generated alternative text:
Amministratcre: Windows PowerSheII 
Prova la nuova PowerSheII multipiattaforma 
Cestinc 
Area geografica 
Formati Opzioni di amministrazione 
Schermata iniziale e nuovi account utente — 
https aka . ms/ pscore6 
Impostazlonl schermata InlZlaIe e nucn.'l account utente 
Di seguito sono visualizzate le impostazioni per I' utente corrente, la schermata 
iniziale (account di sistema) e i nuovi account utente. 
Consente di visualizzare e copiare le impostazioni internazionali nella 
schermata iniziale, negli account di sistema e nei nuovi account utente. 
Copia impostazioni... 
Lingua per programmi non Unicode 
Questa impostazione (impostazioni locali del sistema) controlla la lingua 
utilizzata per visualizzare testo in programmi che non supportano Unicode. 
Lingua corrente per i programmi non Unicode: 
Italiano (Italia) 
Cambia impostazioni locali del sistema... 
Utente corrente 
Lingua di visualizzazione: 
Lingua di input: 
Formato: 
Localitå: 
Schermata iniziale 
Lingua di visualizzazione: 
Lingua di input: 
Formato: 
Localitå: 
Nuovi account utente 
Lingua di visualizzazione: 
Lingua di input: 
Formato: 
Localitå: 
italiano 
Italiano (Italia) - Italiano 
Italiano (Italia) 
Italia 
italiano 
Italiano (Italia) - Italiano 
Inglese (Stati Uniti d'America) 
Italia 
italiano 
Italiano (Italia) - Italiano 
Italiano (Italia) 
Italia 
Copia le impostazioni correnti in: 
Schermata iniziale e account di sistema 
Spellchecking 
Handwriting 
True 
False 
-canonical Name 
Nuovi account utente 
microsoft . RegionAndLanguage I Show 
ps C: Get-controlPane11tem 
Scrivi qui il testo da cercare. 
Annulla 
-Cont rol Panel It em 
1801 
(D) ITA
Machine generated alternative text:
Cestino 
Messaggiofli 
henven to 
Impostazioni 
tm Home 
Trava unlimpostazione 
Data/ora e lingua 
Data e ora 
Area geografica 
Lingua 
Riconoscimento vocale 
Scrivi qui il testo da cercare. 
p 
Lingua 
Lingua di visualizzazione di Windows 
Italiano (Italia) 
Si stanno verificando problemi al sistema. Riprovare? 
Lingue preferite 
Le app e i siti Web verranno visualizzati nella prima lingua dell'elenco 
che supportano. Seleziona una lingua e quindi seleziona Opziani per 
configurare le tastiere e altre funzionalitå. 
Riconoscimento grafa 
English (United States) 
Sintesi vocale installata 
Italiano (Italia) 
La lingua del PC gestita dall'amministratore di sistema 
Questa sara la tua lingua di visualizzazione principale al tuo 
prassimo accesso (alternativa) 
Scegli un metodo di input da usare sempre come predefinito 
1802