Wie stelle ich in einem englischen Windows Server 2025 einen Account ohne GUI auf deutsch um?
Ausgangspunkt:
Ich verwende ein von AWS zur Verfügung gestelltes englischsprachiges Windows Server 2025 VM-Image, das ich als lokaler SYSTEM-User via Powershell in einem Script auf meine Bedürfnisse konfigurieren kann. Darauf sollen im Nachgang Prozesse auf einer Shell laufen, eine GUI-Anmeldung ist nicht vorgesehen und wenn überhaupt nur zum Debuggen gedacht.
Die Betriebssystemsprache soll von Englisch auf Deutsch umgestellt werden. Sich während der Image-Erstellung in der GUI einzuloggen und in irgendwelchen Menüs etwas zu klicken ist nicht möglich. Wie man die Sprache in den Einstellungen des Betriebssystems ändert, weiß ich - aber es geht hier um die reine Konsolen-Nutzung.
Mein Powershell-Script macht bislang folgendes:
- User anlegen
- Gruppenzugehörigkeit (Users, Administrators) zuweisen
- deutsche Sprache installieren mit
Install-Language -Language de-DE -CopyToSettings
- im Kontext des neu angelegten Users in einem Scheduled Task einen beliebigen Befehl ausführen und die Sprache anwenden:
cmd.exe /c echo Initializing user profile for meinbenutzer
$LangList = New-WinUserLanguageList de-DE;
Set-WinUserLanguageList -LanguageList $LangList -Force;
Set-WinUILanguageOverride -Language de-DE
- Rechner neu starten.
Damit wird das Profil initialisiert (zumindest existiert das Profilverzeichnis unter C:\Users\meinbenutzer ) und später beim Debugging-Zugang nach dem ersten Login in der GUI die Sprache auf deutsch gesetzt, aber nicht in der Konsole, die ist weiterhin auf englisch.
Zu guter Letzt habe ich vor dem Reboot noch einen Registry-Import einiger User-Settings hinzugefügt:
$sid = (Get-WmiObject Win32_UserAccount | Where-Object { $_.Name -eq meinbenutzer }).SID $regfile = "REGEDIT4`r`n"
$regfile += "`r`n"
$regfile += "[HKEY_USERS\" + $sid + "\Control Panel\International]`r`n"
$regfile += "`"Locale`"=`"00000407`"`r`n"
$regfile += "`"LocaleName`"=`"de-DE`"`r`n"
$regfile += "`"iCountry`"=`"49`"`r`n"
[...]
$regfile += "[HKEY_USERS\" + $sid + "\Control Panel\International\Geo]`r`n"
$regfile += "`"Nation`"=`"94`"`r`n"
$regfile += "`"Name`"=`"DE`"`r`n"
$regfile += "`r`n"
$regFilePath = "C:/ordnerpfad/setlanguagetogerman.reg"
$regfile | Out-File -FilePath $regFilePath -Encoding Ascii
reg import $regFilePath
Das hat bewirkt, dass bereits vor dem Login auf der GUI die Sprache auf deutsch war - aber eben immer noch nicht auf der Shell, die bleibt stur auf englisch bis man sich mit dem Benutzer einmal an der GUI eingeloggt hat.
Auf einem englischsprachigen Windows-Image kann ich auch nicht mit
Uninstall-Language -Language en-US
die englische Sprache einfach deinstallieren, das funktioniert leider nicht.
Ich möchte quasi dieses "Wir bereiten alles vor, bitte haben Sie Geduld..." simulieren, damit die Sprache des angelegten Benutzers vollständig auf englisch ist.