Das Problem
Wenn man im SCVMM 2012 R2 (gilt auch für “R1”) eine VM mit Hilfe einer VM-Vorlage (engl. “Template”) erzeugt, dann bekommt diese neue VM (und zwar unabhängig von dem bereits vorhandenen Betriebssystem in der eingesetzten VHD) alle Regionaleinstellungen auf “en-US”, dazu gehören u.a.:
- Tastaturlayout
- User-Locale
- System-Locale
- UILanguage
Die einzige Einstellung bezüglich der Region lässt sich für die Zeitzone einrichten:
Selbst wenn man mit Hilfe einer eigenen Antwortdatei andere Werte setzt, werden diese weitgehend ignoriert, da am Ende in der resultierenden Antwortdatei (Eigene Inhalte + im SCVMM gesetzte Einstellungen + SCVMM-Defaults) die SCVMM-Defaults am weitesten oben stehen und daher Vorrang bekommen.
Dieses Verhalten ist bei Microsoft bekannt und in dem folgenden KB-Artikel beschrieben:
http://support.microsoft.com/kb/2709539
Lösung des Problems
Als Workarround ist folgendes Vorgehen möglich:
- SCVMM-Konsole starten
- In den “Einstellungen”-Bereich wechseln
- Dort die PowerShell über den Button in der Ribbon-Leiste öffnen
- Ein angepasstes Script nach folgendem Schema ausführen
PowerShell-Script:
$Vorlage = Get-SCVMtemplate | where {$_.Name -eq "Template_Name"}
$Einstellungen = $Vorlage.UnattendSettings;
$Einstellungen.add("oobeSystem/Microsoft-Windows-International-Core/UserLocale","de-DE");
$Einstellungen.add("oobeSystem/Microsoft-Windows-International-Core/SystemLocale","de-DE");
$Einstellungen.add("oobeSystem/Microsoft-Windows-International-Core/UILanguage","de-DE");
$Einstellungen.add("oobeSystem/Microsoft-Windows-International-Core/InputLocale","0407:00000407");
Set-SCVMTemplate -VMTemplate $Vorlage -UnattendSettings $Einstellungen
“Template_Name” muss hier natürlich durch den Namen der eigenen VM-Vorlage ausgetauscht werden. Das ganze sollte dann so aussehen:
Nun ist die VM-Vorlage entsprechend angepasst, was man per PowerShell abfragen kann:
(Get-SCVMtemplate | where {$_.Name -eq "Name_der_Vorlage"}).UnattendSettings