How to add new keyboard language from GPO?
Now I have Windows Server 2012 R2 system and it has domain controller. And domain users do not have permission add new language to their keyboard. So, how can I add new keyboard languages from group policy(or is it possible) ?
The keyboard layouts loaded are controlled by HKEY_CURRENT_USER\Keyboard Layout\Preload\
, where 1
sets the default layout followed by other layouts 2...N.
You can find these values:
- from an official source, e.g. Microsoft's Default Input Profiles (Input Locales) in Windows
- in a more readable format from e.g. kbdlayout.info
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes
One option is to add these registry values directly using the Group Policy
- User Configuration
- Preferences
- Windows Settings
- Registry
- Windows Settings
- Preferences
This method is suitable if you'd only need to set these settings once; if you don't need to modify them regularly or use different settings for different OUs. Anything above that gets harder to manage. A more elegant way would be adding a custom .ADMX template.
Here's a quick example of an older .ADM template with dropdown menus for three keyboard layouts. It's easy enough to add more layouts or increase the amount of additional layouts.
CLASS USER
CATEGORY "Keyboard Layout"
POLICY "Keyboard Layout Preload"
KEYNAME "Keyboard Layout\Preload"
PART Default DROPDOWNLIST
VALUENAME "1"
ITEMLIST
NAME "United Kingdom" VALUE "00000809" DEFAULT
NAME "Russian" VALUE "00000419"
NAME "Japanese" VALUE "00000411"
NAME "Korean" VALUE "00000412"
END ITEMLIST
END PART
PART Second DROPDOWNLIST
VALUENAME "2"
ITEMLIST
NAME "Disabled" VALUE DELETE
NAME "United Kingdom" VALUE "00000809"
NAME "Russian" VALUE "00000419"
NAME "Japanese" VALUE "00000411"
NAME "Korean" VALUE "00000412"
END ITEMLIST
END PART
PART Third DROPDOWNLIST
VALUENAME "3"
ITEMLIST
NAME "Disabled" VALUE DELETE
NAME "United Kingdom" VALUE "00000809"
NAME "Russian" VALUE "00000419"
NAME "Japanese" VALUE "00000411"
NAME "Korean" VALUE "00000412"
END ITEMLIST
END PART
END POLICY
END CATEGORY