0

I'm currently having an issue on Win10.

The problem :

I want to set up the language of the pc for all the users and even the welcome screen to be "FR-BE" using powershell.

Here's what I've tried so far :

  • using the copyinternationalsettings cmdlet but it's not compatible for win 10
  • I've try a solution that I've found on superuser.com :
  1. Launching my script that you can found below
  2. Manually import the reg file

file.reg :

Windows Registry Editor Version 5.00

[HKEY_USERS.DEFAULT\Keyboard Layout\Preload] "1"="0000080c" #Key for FR-BE "2"="0000081c"

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Control Panel\International] "BlockUserInputMethodsForSignIn"=dword:00000001

-> Here's my script code :

function Change-Language {
    param (
        [string]$language
    )
    if ($language -eq "az") {
        Write-Host "AZERTY format will be applied" -Foreground Green
        $langlist = New-WinUserLanguageList fr-BE
        $langlist[0].InputMethodTips.Clear()
        $langlist[0].InputMethodTips.Add('080c:0000080c') # AZERTY keyboard layout
        Set-WinUserLanguageList $langlist -Force
        Set-WinSystemLocale -SystemLocale fr-BE
        Set-WinDefaultInputMethodOverride -InputTip "080C:0000080c"
        Set-WinUILanguageOverride -Language fr-BE
        Set-WinHomeLocation -GeoId 21
    } elseif ($language -eq "qw") {
        Write-Host "You choose the QWERTY format" -Foreground Green
        $langlist = New-WinUserLanguageList en-IE
        $langlist[0].InputMethodTips.Clear()
        $langlist[0].InputMethodTips.Add('1809:00001809') # QWERTY keyboard layout
        Set-WinUserLanguageList $langlist -Force
        Set-WinSystemLocale -SystemLocale en-IE
        Set-WinDefaultInputMethodOverride -InputTip "1809:00001809"
        Set-WinUILanguageOverride -Language en-IE
        Set-WinHomeLocation -GeoId 21
    } else {
        write-host "You didn't choose any format, do nothing" -Foreground Yellow
    }    
    return
}
Change-Language -language "az"  

Results :

The result that I get is near the solution but not the solution. The script with the reg, change the input language for the current user and the welcome screen.

But for new users it seems that it doesn't change it at all.

Can someone help me ?

Source : Setting the default input method for the Windows 10 login screen

Ramhound
  • 44,080

1 Answers1

0

Welcome screen parameters are under HKU\.DEFAULT
New users settings are under C:\Users\Default\NTUSER.DAT

To modify new user settings, you must load the registry :
reg load HKU\editDefault C:\Users\default\NTUser.dat

Copy-Item -Path "HKCU:\Control Panel\International\Geo" -Destination "REGISTRY::HKEY_USERS\editDefault\Control Panel\International" -Recurse

Copy-Item -Path "HKCU:\Keyboard Layout\Preload" -Destination "REGISTRY::HKEY_USERS\editDefault\Keyboard Layout" -Recurse

reg unload HKU\editDefault