Die Automatisierung von Betriebssysteminstallationen ist ein Segen für IT-Profis und Systemadministratoren. Sie spart unzählige Stunden, reduziert Fehler und gewährleistet eine konsistente Umgebung über Hunderte oder Tausende von Geräten hinweg. Doch selbst in der hochentwickelten Welt von Windows 11 gibt es immer wieder Stolpersteine, die uns graue Haare wachsen lassen. Einer der hartnäckigsten und frustrierendsten sind Probleme mit der InputLocale und dem Keyboard Layout (Tastaturlayout) während einer unattend Installation.
Man hat alles sorgfältig in der unattend.xml
konfiguriert, die Installation läuft reibungslos durch – und doch: Nach dem ersten Login stellt man fest, dass das Tastaturlayout nicht stimmt. Anstatt des deutschen QWERTZ ist es das amerikanische QWERTY, oder die Spracheinstellungen sind durcheinander. Dieses scheinbar kleine Problem kann enorme Auswirkungen auf die Produktivität der Endbenutzer haben und erfordert oft manuelle Korrekturen, die den Sinn der Automatisierung zunichtemachen. In diesem umfassenden Artikel tauchen wir tief in die Materie ein und zeigen Ihnen, wie Sie diese Tücken bei Ihrer Windows 11 Bereitstellung ein für alle Mal beheben.
Das Dilemma der unbeaufsichtigten Installation: Warum diese Einstellungen so wichtig sind
Eine unattended Installation von Windows 11, oft realisiert über Technologien wie Microsoft Deployment Toolkit (MDT) oder System Center Configuration Manager (SCCM), nutzt eine XML-Antwortdatei (unattend.xml
), um Installationseinstellungen zu automatisieren. Dazu gehören Benutzerkonten, Netzwerkeinstellungen, Lizenzschlüssel und eben auch Sprach- und Regionaleinstellungen. Die korrekte Konfiguration von InputLocale
und Keyboard Layout
ist entscheidend für die Benutzererfahrung und die Einhaltung regionaler Standards. Ein falsches Layout führt zu Tippfehlern, Schwierigkeiten bei der Eingabe spezifischer Zeichen (z.B. @, €, ÜÖÄ) und allgemeiner Frustration.
Das Problem ist oft subtil, da das System scheinbar andere Regionaleinstellungen korrekt übernimmt, aber genau diese beiden Eingabeeinstellungen hartnäckig falsch bleiben. Dies ist selten ein Fehler in Windows selbst, sondern meist eine Folge von Missverständnissen bei der Konfiguration oder der Wechselwirkung verschiedener Einstellungen.
Die Wurzel des Übels: InputLocale vs. Keyboard Layout – Der feine Unterschied
Um das Problem effektiv zu beheben, müssen wir zunächst verstehen, was InputLocale
und Keyboard Layout
eigentlich bedeuten und wie sie sich unterscheiden:
- InputLocale (Eingabeschema): Dies beschreibt die Sprache für nicht-Unicode-Programme und die standardmäßige Eingabemethode für ein Benutzerkonto. Es ist ein sprachbezogener Wert, der festlegt, welche Zeichensätze und Sortierreihenfolgen verwendet werden. Ein Wert wie
de-DE
steht für Deutsch (Deutschland). - Keyboard Layout (Tastaturlayout): Dies definiert die physische und logische Zuordnung von Tasten auf Ihrer Tastatur. Es ist die eigentliche Belegung der Tasten. Für Deutsch (Deutschland) ist dies `Deutsch`, während es für Englisch (USA) `US` ist. Die Werte für das Tastaturlayout werden oft im Format
:
angegeben, z.B.0407:00000407
für Deutsch.
Der entscheidende Punkt ist, dass diese beiden Einstellungen eng miteinander verbunden sein können, aber Windows sie intern unterschiedlich behandelt. Ein falsch konfigurierter oder fehlender Wert für eines davon kann dazu führen, dass das System auf einen Standardwert (oft US-Englisch) zurückfällt, selbst wenn andere regionale Einstellungen korrekt gesetzt sind.
Der `unattend.xml` Fluch: Wo es meistens schiefläuft
Die unattend.xml
-Datei ist das Herzstück jeder unbeaufsichtigten Installation. Sie besteht aus verschiedenen Konfigurationsdurchläufen (Passes), in denen Windows bestimmte Einstellungen zu verschiedenen Zeitpunkten des Installationsprozesses anwendet. Die relevantesten für unsere Problematik sind:
- windowsPE: Wird ganz zu Beginn der Installation im WinPE-Umfeld angewendet. Hier werden grundlegende Einstellungen wie die Sprache für die Installation selbst vorgenommen.
- specialize: Wird angewendet, wenn das System zum ersten Mal gestartet wird und gerätespezifische Einstellungen konfiguriert werden.
- oobeSystem: Wird angewendet, kurz bevor der Endbenutzer die Out-of-Box Experience (OOBE) durchläuft oder übersprungen wird. Diese Einstellungen betreffen oft Benutzerprofile und Lokalisierung.
Das Modul, das für Sprach- und Regionaleinstellungen zuständig ist, ist Microsoft-Windows-International-Core
(für die meisten Einstellungen) und Microsoft-Windows-International-Core-WinPE
(für den `windowsPE`-Pass). Hier sind die Schlüsselwerte, die Sie konfigurieren müssen, und die häufigsten Fallstricke:
Die kritischen Einstellungen im Detail:
Innerhalb des oobeSystem
-Passes (und manchmal auch im `specialize`-Pass, um absolute Konsistenz zu gewährleisten) sind folgende Einstellungen entscheidend:
: Setzt das primäre Eingabeschema.
: Definiert die Standardsprache für nicht-Unicode-Programme.
: Setzt die Anzeigesprache der Benutzeroberfläche.
: Definiert das Format für Zahlen, Währungen, Datum und Uhrzeit.
(oft auch als
im `InputLocale` Element verschachtelt): Dies ist der kritische Wert, der das tatsächliche Tastaturlayout festlegt.
Häufige Fehlerquellen:
- Unzureichende Konfiguration: Oft wird nur
UILanguage
oderUserLocale
gesetzt, währendInputLocale
undKeyboardLayout
vernachlässigt werden. Windows versucht dann, die fehlenden Werte anhand anderer Einstellungen zu erraten, was oft schiefgeht. - Falscher Pass: Einstellungen werden im falschen Konfigurationsdurchlauf vorgenommen. Zum Beispiel, wenn das Tastaturlayout nur in `windowsPE` gesetzt wird, aber im `oobeSystem`-Pass überschrieben oder nicht mehr berücksichtigt wird.
- Inkonsistente Werte: Wenn Sie beispielsweise
de-DE
fürUserLocale
verwenden, aber das Tastaturlayout auf einen US-Code setzen. Alle relevanten Werte müssen harmonieren. - Syntaxfehler bei den Werten: Besonders bei
KeyboardLayout
wird oft der falsche Code verwendet. Die Werte sind nicht immer intuitiv. Für Deutsch (Deutschland) ist es0407:00000407
. Für US-Englisch ist es0409:00000409
. Eine Liste finden Sie in der Microsoft-Dokumentation. - Mehrere Tastaturlayouts: Wenn Sie mehrere Tastaturlayouts definieren, kann Windows das falsche als Standard wählen. Stellen Sie sicher, dass nur das gewünschte Layout primär gesetzt wird.
- Überschreibung durch Benutzerprofile: Manchmal werden diese Einstellungen auf Systemebene korrekt gesetzt, aber beim ersten Anmelden eines Benutzers greifen Standardprofileinstellungen oder werden durch die OOBE überschrieben.
Praktische Lösungsansätze für Ihr `unattend.xml`
Der Schlüssel zur Lösung liegt in der vollständigen und konsistenten Konfiguration aller relevanten Werte im richtigen Pass. Hier ist ein Beispielausschnitt für eine deutsche Installation. Sie sollten diesen Teil im oobeSystem
-Pass Ihrer unattend.xml
platzieren:
<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>de-DE</InputLocale>
<SystemLocale>de-DE</SystemLocale>
<UILanguage>de-DE</UILanguage>
<UserLocale>de-DE</UserLocale>
<SetupUILanguage>
<UILanguage>de-DE</UILanguage>
</SetupUILanguage>
</component>
<component name="Microsoft-Windows-International-Core" processorArchitecture="x86" 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>de-DE</InputLocale>
<SystemLocale>de-DE</SystemLocale>
<UILanguage>de-DE</UILanguage>
<UserLocale>de-DE</UserLocale>
<SetupUILanguage>
<UILanguage>de-DE</UILanguage>
</SetupUILanguage>
</component>
</settings>
<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">
<SetupUILanguage>
<UILanguage>de-DE</UILanguage>
</SetupUILanguage>
<InputLocale>de-DE</InputLocale>
<SystemLocale>de-DE</SystemLocale>
<UILanguage>de-DE</UILanguage>
<UserLocale>de-DE</UserLocale>
<KeyboardLayout>0407:00000407</KeyboardLayout>
</component>
<component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SetupUILanguage>
<UILanguage>de-DE</UILanguage>
</SetupUILanguage>
<InputLocale>de-DE</InputLocale>
<SystemLocale>de-DE</SystemLocale>
<UILanguage>de-DE</UILanguage>
<UserLocale>de-DE</UserLocale>
<KeyboardLayout>0407:00000407</KeyboardLayout>
</component>
</settings>
Wichtiger Hinweis: Der entscheidende Wert <KeyboardLayout>0407:00000407</KeyboardLayout>
wird oft im windowsPE
-Pass (wie oben gezeigt) oder in einigen Fällen auch direkt im InputLocale
-Element des oobeSystem
-Passes verschachtelt. Es ist wichtig, beide Ansätze zu testen, da die genaue Implementierung zwischen Windows-Versionen und -Builds variieren kann. Konsistenz über alle relevanten Komponenten und Pässe hinweg ist Ihr bester Freund.
Die KeyboardLayout
-Werte sind in der Form <Sprach-ID>:<Tastaturlayout-ID>
. Für gängige Layouts:
- Deutsch (Deutschland):
0407:00000407
- Englisch (USA):
0409:00000409
- Französisch (Frankreich):
040C:0000040C
- Schweizerdeutsch:
0807:00000807
Wenn `unattend.xml` allein nicht reicht: Post-Installation Fixes
Manchmal bleiben die Probleme bestehen, oder Sie möchten eine zusätzliche Sicherheitsebene einbauen, um sicherzustellen, dass die Einstellungen nach der Installation korrekt sind. Hier kommen PowerShell und Gruppenrichtlinien (GPOs) ins Spiel.
PowerShell zur Korrektur nach der Installation
PowerShell bietet mächtige Cmdlets zur Verwaltung von Sprach- und Regionaleinstellungen. Diese können in ein Skript verpackt und als Teil Ihrer Post-Installationsaufgaben oder sogar als geplante Aufgabe ausgeführt werden.
# Überprüfen der aktuellen Spracheinstellungen
Get-WinUserLanguageList
# Setzen der Anzeigesprache auf Deutsch (Deutschland)
Set-WinUILanguageOverride -Language de-DE
# Setzen der Systemgebietsdefinition (SystemLocale)
Set-WinSystemLocale -SystemLocale de-DE
# Setzen der Benutzergebietsdefinition (UserLocale)
Set-Culture -CultureInfo de-DE
# Setzen der InputLocale und des Tastaturlayouts
# Zuerst das gewünschte Layout hinzufügen, falls nicht vorhanden
$LangList = Get-WinUserLanguageList
$LangList.Add("de-DE") # Fügt die Sprache hinzu, falls sie fehlt
$LangList[0].InputMethodTips.Clear() # Bestehende Input-Methoden löschen
$LangList[0].InputMethodTips.Add("0407:00000407") # Deutsch (Deutschland) Layout hinzufügen
Set-WinUserLanguageList $LangList -Force
# Optional: Entfernen unerwünschter Layouts (z.B. US-Englisch)
$LangList = Get-WinUserLanguageList
foreach ($lang in $LangList) {
if ($lang.LanguageTag -ne "de-DE") {
$LangList.Remove($lang)
}
}
Set-WinUserLanguageList $LangList -Force
# Bestätigen der Änderungen
Get-WinUserLanguageList
Dieses Skript stellt sicher, dass Deutsch als primäre Sprache, Systemgebietsdefinition und Benutzergebietsdefinition festgelegt wird und vor allem das deutsche Tastaturlayout als Standard fungiert. Fügen Sie dieses Skript zu Ihrem Deployment-Prozess hinzu, z.B. als Task Sequence Step in MDT/SCCM, um es nach der Windows-Installation auszuführen.
Gruppenrichtlinien (GPOs) für eine unternehmensweite Lösung
Für größere Umgebungen oder um sicherzustellen, dass Benutzer die Einstellungen nicht ändern können, sind Gruppenrichtlinien die ideale Lösung. Sie können diese Einstellungen auf Organisationseinheiten (OUs) anwenden, die Ihre Computer- oder Benutzerobjekte enthalten.
Die relevanten GPO-Pfade sind:
- Benutzerkonfiguration > Richtlinien > Administrative Vorlagen > System > Gebiets- und Sprachoptionen
Standard-Eingabegebietsschema festlegen
(SetztInputLocale
)Standard-Layout für Desktop und sicheren Desktop konfigurieren
(SetztKeyboard Layout
für den Anmeldebildschirm und Benutzer)Benutzer-Gebietsschema festlegen
(SetztUserLocale
)
Der wichtigste Wert hier ist oft Standard-Layout für Desktop und sicheren Desktop konfigurieren
, wo Sie den Hexadezimalwert für das gewünschte Tastaturlayout eingeben können (z.B. 00000407
für Deutsch).
Hinweis: GPOs können auch nach der Installation angewendet werden und überschreiben dann eventuell falsch konfigurierte lokale Einstellungen. Dies ist eine robuste Methode, um Konsistenz in einer AD-Umgebung zu gewährleisten.
Best Practices und Tipps zur Fehlerbehebung
- Testen, Testen, Testen: Erstellen Sie eine virtuelle Maschine und testen Sie Ihre
unattend.xml
-Datei unter verschiedenen Szenarien. Änderungen in der XML können unvorhergesehene Auswirkungen haben. - Konsistenz ist der Schlüssel: Stellen Sie sicher, dass alle relevanten Einstellungen (
InputLocale
,SystemLocale
,UILanguage
,UserLocale
,KeyboardLayout
) über alle Pässe hinweg konsistent sind und auf die gleiche Sprache und das gleiche Layout verweisen. - Microsoft-Dokumentation konsultieren: Die offizielle Microsoft-Dokumentation bietet die aktuellsten Informationen zu den Codes und der Struktur der
unattend.xml
-Datei. Suchen Sie nach „Language Pack Default Values” oder „Locale IDs”. - Überprüfen der Protokolldateien: Nach einer fehlgeschlagenen Installation prüfen Sie die Protokolle im Ordner
C:WindowsPanther
(setupact.log
undsetuperr.log
) auf Fehler oder Warnungen im Zusammenhang mit Sprach- und Regionaleinstellungen. - DISM verwenden: Sie können DISM verwenden, um ein Image offline zu bearbeiten und die Sprachpakete sowie die Standard-Tastaturlayouts zu überprüfen und zu setzen.
Dism /Image:C:MountWindows /Set-InputLocale:de-DE Dism /Image:C:MountWindows /Set-SystemLocale:de-DE Dism /Image:C:MountWindows /Set-UILang:de-DE Dism /Image:C:MountWindows /Set-UserLocale:de-DE Dism /Image:C:MountWindows /Set-SKUIntlDefaults:de-DE
- Audit Mode: Führen Sie nach der unattended Installation den Audit Mode (Strg+Umschalt+F3 im OOBE-Bildschirm) aus, um die Einstellungen direkt zu überprüfen und gegebenenfalls manuell zu korrigieren, bevor Sie das System für den Endbenutzer vorbereiten.
- Default User Profile: Manchmal werden falsche Einstellungen vom Default User Profile geerbt. Überprüfen Sie, ob Sie das Standardprofil korrekt angepasst haben, wenn Sie eines verwenden.
Fazit
Die Behebung von InputLocale- und Keyboard Layout-Problemen bei einer Windows 11 unattended Installation erfordert ein tiefes Verständnis der unattend.xml
-Datei und der zugrunde liegenden Mechanismen von Windows. Durch präzise und konsistente Konfiguration aller relevanten Werte in den richtigen Konfigurationsdurchläufen können die meisten Probleme gelöst werden. Wo die unattend.xml
an ihre Grenzen stößt oder eine zusätzliche Absicherung gewünscht ist, bieten PowerShell-Skripte und Gruppenrichtlinien robuste Lösungen.
Nehmen Sie sich die Zeit für sorgfältige Planung und ausgiebiges Testen. Mit den hier vorgestellten Strategien sind Sie bestens gerüstet, um diese frustrierenden Tücken der Automatisierung zu meistern und eine nahtlose, lokalisierte Windows 11-Bereitstellung zu gewährleisten. Ihre Benutzer (und Ihr zukünftiges Ich) werden es Ihnen danken!