Per-User Keyboard Layout Konfiguration auf Multilanguage Terminal Servern

In Multilanguage Terminal-Server Umgebungen ist die Konfiguration von Spracheinstellungen (Display Language, Regional Settings) eigentlich relativ einfach per Gruppenrichtlinien konfigurierbar. Problematisch ist in solchen Konstellationen aber oftmals das Keyboard Layout, welches dem Benutzer präsentiert werden soll, insbesondere auf Systemen mit mit möglichst restriktiver Benutzerkonfiguration. Standardmäßig lässt sich hier nichts per GPO einstellen; es wird immer das Layout passend zur ursprünglichen Installation verwendet, bzw. das Layout, passend zur konfigurierten Systemsprache. Bemerkbar machen sich dann Probleme in der Art, dass das Keyboard Layout immer wieder zwischen einem händisch konfigurierten (abweichenden) Layout und dem Layout der Systemsprache hin und her springt.

Daher muss das Keyboard Layout auf System- und Benutzerseite explizit konfiguriert werden. Begonnen wird hierbei damit, das Keyboard Layout des verbundenen Clients systemweit zu deaktivieren. Dadurch wird ausschließlich das Layout, welches für das User Profil am Server konfiguriert ist, verwendet:

REG add "HKLM\SYSTEM\CurrentControlSet\Control\Keyboard Layout" /f /v IgnoreRemoteKeyboardLayout /t REG_DWORD /d 1

Danach löscht man die Default Settings in Bezug auf die Spracheinstellungen im Default User Profil:

REG delete "HKU\.DEFAULT\Control Panel\International\User Profile" /f /v Languages
REG delete "HKU\.DEFAULT\Control Panel\International\User Profile Backup" /f /v Languages
REG delete "HKU\.DEFAULT\Control Panel\International\User Profile\en-US" /f
REG delete "HKU\.DEFAULT\Control Panel\International\User Profile Backup\en-US" /f

Die Profilangaben en-US beziehen sich natürlich auf eine rein Englische Installation. Bei Installation von einer Deutschen ISO oder wenn ein Deutsches Sprachpaket nachinstalliert wurde, lautet der Registry Key natürlich anders (de-DE), bzw. es können mehrere Registry Keys (einen für jede installierte Sprache) existieren.

Abschließend konfiguriert man auf Userebene, welche Layouts für den User geladen werden. Die Zahl des Registry Keys gibt dabei die Reihenfolge/Priorität an. Im folgenden Beispiel füge ich als erstes preloaded Keyboard Layout Deutsch (de-DE) hinzu und als zweites Englisch (en-US)

REG add "HKCU\Keyboard Layout\Preload" /f /v 1 /t REG_SZ /d 00000407
REG add "HKCU\Keyboard Layout\Preload" /f /v 2 /t REG_SZ /d 00000409

Eine Übersicht, welcher Code für welches Layout steht, lässt sich auf dem System selbst in folgendem Registry Key finden:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes

Selbstverständlich lassen sich alle o.g. REG Befehle statt per Script auch per GPO Registry Preference abbilden.

Quellen:
https://social.technet.microsoft.com/wiki/contents/articles/6281.how-to-set-the-keyboard-layout-through-group-policy-gpo.aspx

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.