New user/default user language VS. Service/System account language


mkmaddin

New member
Local time
6:46 AM
Posts
6
OS
W10, W11, Debian 12, MacOS 15, Ubuntu 22.04.5 LTS
hey,

I am trying to set the default language for new users on my system during setupcomplete.cmd from en-us to de-de via command line.
Equivalent to manual option of changing current user display language to de-de; then intl.cpl -> Administrative -> Copy Settings.. -> checkbox for "new user accounts"

The typical way would be after installation of the language pack to fire powershell Set-SystemprefferdUILanguage de-de.
Unfortunately this changes not only the language applied for new users, but additionally for local system & service accounts such as welcome screen.

What I additionally tried was to create a corresponding configuration xml (see below) and call it via control.exe intl.cpl,,/f:"%~dp0config.xml"
But this does not seem to work as expected.
Code:
<gs:GlobalizationServices xmlns:gs="urn:longhornGlobalizationUnattend">
    <gs:UserList>
        <gs:User UserID="Current" CopySettingsToDefaultUserAcct="true" CopySettingsToSystemAcct="false"/>
    </gs:UserList>
    <gs:LocationPreferences>
        <gs:GeoID Value="94"/>
    </gs:LocationPreferences>
    <gs:MUILanguagePreferences>
        <gs:MUILanguage Value="de-DE"/>
        <gs:MUIFallback Value="en-US"/>
    </gs:MUILanguagePreferences>
    <gs:SystemLocale Name="de-DE"/>
    <gs:InputPreferences>
        <gs:InputLanguageID Action="add" ID="0407:00000407" Default="true"/>
        <gs:InputLanguageID Action="remove" ID="0409:00000409"/>
    </gs:InputPreferences>
    <gs:UserLocale>
        <gs:Locale Name="de-DE" SetAsCurrent="true" ResetAllSettings="false">
        </gs:Locale>
    </gs:UserLocale>
</gs:GlobalizationServices>

I additionally tried to
Code:
reg.exe load HKU\DEFAULTUSER %SYSTEMDRIVE%\Users\Default\NTUser.dat
reg.exe add "HKU\DEFAULTUSER\Control Panel\International\User Profile\de-DE" /v "0407:00000407" /t REG_DWORD /d 1
reg.exe add "HKU\DEFAULTUSER\Control Panel\International\User Profile" /v Languages /t REG_MULTI_SZ /d de-DE
reg.exe unload HKU\DEFAULTUSER

But unfortunately newly created users are still en-US.

Any ideas how to get this solved?
 
Windows Build/Version
10.0.26100

My Computer

System One

  • OS
    W10, W11, Debian 12, MacOS 15, Ubuntu 22.04.5 LTS

My Computers

System One System Two

  • OS
    Windows 11 Pro - Windows 7 HP 64 - Lubuntu
    Computer type
    PC/Desktop
    Manufacturer/Model
    custom build
    CPU
    i5 6600K - 800MHz to 4400MHz
    Motherboard
    GA-Z170-HD3P
    Memory
    4+4G GSkill DDR4 3000
    Graphics Card(s)
    IG - Intel 530
    Monitor(s) Displays
    Samsung 226BW
    Screen Resolution
    1680x1050
    Hard Drives
    (1) -1 SM951 – 128GB M.2 AHCI PCIe SSD drive for Win 11
    (2) -1 WD SATA 3 - 1T for Data
    (3) -1 WD SATA 3 - 1T for backup
    (4) -1 BX500 SSD - 128G for Windows 7 and Lubuntu
    PSU
    Thermaltake 450W TR2 gold
    Keyboard
    Old and good Chicony mechanical keyboard
    Mouse
    Logitech mX performance - 9 buttons (had to disable some)
    Internet Speed
    500 Mb/s
    Browser
    Firefox 64
  • Operating System
    Windows 11 Pro
    Computer type
    Laptop
    Manufacturer/Model
    Asus Q550LF
    CPU
    i7-4500U 800- 3000MHz
    Motherboard
    Asus Q550LF
    Memory
    (4+4)G DDR3 1600
    Graphics card(s)
    IG intel 4400 + NVIDIA GeForce GT 745M
    Sound Card
    Realtek
    Monitor(s) Displays
    LG Display LP156WF4-SPH1
    Screen Resolution
    1920 x 1080
    Hard Drives
    BX500 120G SSD for Windows and programs
    & 1T HDD for data
    Internet Speed
    500 Mb/s
    Browser
    Firefox 64
I don't know if this was the exact results you wanted, but I made a modified version of Peter Klapwijk's PowerShell script:
Install an additional language pack on Windows 11 during Autopilot enrollment

1. Downloaded 24H2 (en-US) ISO. DISM integrated all of the 24H2 (de-DE) language features.

2. Unattended file:
Code:
        <settings pass="windowsPE">
                <component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                        <InputLocale>0409:00000409</InputLocale>
                        <SystemLocale>en-US</SystemLocale>
                        <UILanguage>en-US</UILanguage>
                        <UILanguageFallback>en-US</UILanguageFallback>
                        <UserLocale>en-US</UserLocale>
                        <SetupUILanguage>
                                <UILanguage>en-US</UILanguage>
                        </SetupUILanguage>
                </component>

        <settings pass="oobeSystem">
                <component name="Microsoft-Windows-International-Core" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                        <InputLocale>0409:00000409</InputLocale>
                        <SystemLocale>en-US</SystemLocale>
                        <UILanguage>en-US</UILanguage>
                        <UILanguageFallback>en-US</UILanguageFallback>
                        <UserLocale>en-US</UserLocale>
                </component>

3. Called this PS script from SetupComplete:
Code:
# Adapted from https://inthecloud247.com/install-an-additional-language-pack-on-windows-11-during-autopilot-enrollment/

# https://learn.microsoft.com/en-us/windows/win32/intl/table-of-geographical-locations
$NewUserInputLocale = 'de-DE'
$GeoId = 94

# Make a backup of SYSTEM user's current profile
$SystemInputLocale = Get-SystemPreferredUILanguage
$SystemList = Get-WinUserLanguageList

# Temporarily change defaults on current user profile
Set-SystemPreferredUILanguage $NewUserInputLocale
Set-WinUILanguageOverride -Language $NewUserInputLocale

$NewUserLanguageList = New-WinUserLanguageList -Language $NewUserInputLocale
Set-WinUserLanguageList -LanguageList $NewUserLanguageList -Force

Set-Culture -CultureInfo $NewUserInputLocale
Set-WinHomeLocation -GeoId $GeoId

# Don't copy settings to System (Welcome Screen)
Copy-UserInternationalSettingsToSystem -Welcome $false -NewUser $true

# Restore SYSTEM user's original profile
Set-SystemPreferredUILanguage $SystemInputLocale
Set-WinUILanguageOverride -Language $SystemInputLocale
Set-WinUserLanguageList -LanguageList $SystemList -Force
Set-Culture -CultureInfo $SystemInputLocale
 

Attachments

  • Windows 11 x64-2025-03-13-21-20-07.webp
    Windows 11 x64-2025-03-13-21-20-07.webp
    24.5 KB · Views: 1
  • Windows 11 x64-2025-03-13-21-26-49.webp
    Windows 11 x64-2025-03-13-21-26-49.webp
    29.6 KB · Views: 1
  • Windows 11 x64-2025-03-13-21-27-17.webp
    Windows 11 x64-2025-03-13-21-27-17.webp
    20.5 KB · Views: 1
  • Windows 11 x64-2025-03-13-21-31-02.webp
    Windows 11 x64-2025-03-13-21-31-02.webp
    78.6 KB · Views: 1

My Computer

System One

  • OS
    Windows 7
awesome - thank you I will test 👍
 

My Computer

System One

  • OS
    W10, W11, Debian 12, MacOS 15, Ubuntu 22.04.5 LTS

Latest Support Threads

Back
Top Bottom