Die Windows-Registrierung ist eine hierarchische Datenbank, die Konfigurationseinstellungen für das Betriebssystem, Anwendungen und Hardware speichert. Das Wissen, wie man Registrierungseinträge liest, schreibt und löscht, ist für die Systemadministration, Fehlerbehebung und Anwendungskonfiguration unerlässlich. Dieser Leitfaden behandelt mehrere Methoden, einschließlich des grafischen Editors, Befehlszeilentools und PowerShell.
Die Struktur der Registrierung verstehen
Die Registrierung ist in fünf Stammschlüssel (Hives) organisiert:
| Hive | Abkürzung | Zweck |
|---|---|---|
| HKEY_LOCAL_MACHINE | HKLM | Computerweite Einstellungen (Hardware, Software, System) |
| HKEY_CURRENT_USER | HKCU | Einstellungen des aktuell angemeldeten Benutzers |
| HKEY_CLASSES_ROOT | HKCR | Dateizuordnungen und COM-Objektregistrierungen |
| HKEY_USERS | HKU | Einstellungen für alle Benutzerprofile auf dem Computer |
| HKEY_CURRENT_CONFIG | HKCC | Informationen zum aktuellen Hardwareprofil |
Jeder Hive enthält Schlüssel (wie Ordner) und Werte (wie Dateien). Werte haben einen Namen, einen Typ und Daten.
Gängige Werttypen
| Typ | Beschreibung | Beispiel |
|---|---|---|
| REG_SZ | Zeichenkette | C:\Program Files\MyApp |
| REG_DWORD | 32-Bit-Ganzzahl | 1 (häufig für Ein/Aus verwendet) |
| REG_QWORD | 64-Bit-Ganzzahl | 4294967296 |
| REG_BINARY | Binärdaten | 01 00 00 00 |
| REG_EXPAND_SZ | Erweiterbare Zeichenkette (Umgebungsvariablen) | %SystemRoot%\System32 |
| REG_MULTI_SZ | Mehrfach-Zeichenkette (Array von Zeichenketten) | String1\0String2\0 |
Methode 1: Registrierungs-Editor (Regedit)
Der grafische Registrierungs-Editor ist die gebräuchlichste Methode zum Durchsuchen und Bearbeiten der Registrierung.
Regedit öffnen
- Drücken Sie Win + R, geben Sie
regeditein und drücken Sie Enter. - Akzeptieren Sie die UAC-Aufforderung (Administratorrechte sind für HKLM-Änderungen erforderlich).
Werte lesen
- Navigieren Sie im linken Bereich über die Baumstruktur zum gewünschten Schlüssel.
- Die Werte des ausgewählten Schlüssels erscheinen im rechten Bereich und zeigen Name, Typ und Daten an.
Werte schreiben (erstellen oder ändern)
Um einen neuen Wert zu erstellen:
- Navigieren Sie zum Zielschlüssel.
- Klicken Sie mit der rechten Maustaste in den rechten Bereich und wählen Sie Neu > wählen Sie den Werttyp (Zeichenfolge, DWORD, usw.).
- Geben Sie den Wertnamen ein und drücken Sie Enter.
- Doppelklicken Sie auf den neuen Wert, um seine Daten festzulegen.
Um einen vorhandenen Wert zu ändern:
- Doppelklicken Sie auf den Wert im rechten Bereich.
- Ändern Sie die Daten und klicken Sie auf OK.
Werte oder Schlüssel löschen
- Klicken Sie mit der rechten Maustaste auf den Wert oder Schlüssel.
- Wählen Sie Löschen.
- Bestätigen Sie die Löschung.
Sicherung vor Änderungen erstellen
Exportieren Sie immer eine Sicherungskopie, bevor Sie Änderungen vornehmen:
- Klicken Sie mit der rechten Maustaste auf den Schlüssel, den Sie ändern möchten.
- Wählen Sie Exportieren.
- Speichern Sie die
.reg-Datei an einem sicheren Ort.
Zur Wiederherstellung doppelklicken Sie auf die .reg-Datei und bestätigen Sie den Import.
Methode 2: Befehlszeilentool reg.exe
Der Befehl reg ist in Windows integriert und eignet sich für Scripting und Batchdateien.
Werte lesen
:: Read a specific value
reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion" /v ProgramFilesDir
:: List all values under a key
reg query "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run"
:: Recursive query
reg query "HKLM\SOFTWARE\MyApp" /s
Werte schreiben
:: Create or modify a string value (REG_SZ)
reg add "HKCU\SOFTWARE\MyApp" /v SettingName /t REG_SZ /d "SettingValue" /f
:: Create a DWORD value
reg add "HKCU\SOFTWARE\MyApp" /v EnableFeature /t REG_DWORD /d 1 /f
:: Create a QWORD value
reg add "HKCU\SOFTWARE\MyApp" /v LargeNumber /t REG_QWORD /d 8589934592 /f
:: Create an expandable string value
reg add "HKLM\SOFTWARE\MyApp" /v InstallPath /t REG_EXPAND_SZ /d "%ProgramFiles%\MyApp" /f
Die Option /f erzwingt die Operation ohne Bestätigungsaufforderung.
Werte und Schlüssel löschen
:: Delete a specific value
reg delete "HKCU\SOFTWARE\MyApp" /v SettingName /f
:: Delete an entire key and all its values and subkeys
reg delete "HKCU\SOFTWARE\MyApp" /f
Exportieren und Importieren
:: Export a key to a .reg file
reg export "HKCU\SOFTWARE\MyApp" C:\backup\myapp_settings.reg
:: Import a .reg file
reg import C:\backup\myapp_settings.reg
Methode 3: PowerShell
PowerShell bietet den flexibelsten Ansatz zur Registrierungsverwaltung und verwendet Cmdlets, die die Registrierung wie ein Dateisystem behandeln.
In der Registrierung navigieren
PowerShell bildet Registrierungs-Hives als PSDrives ab:
# List available registry drives
Get-PSDrive -PSProvider Registry
# Navigate to HKLM
Set-Location HKLM:\SOFTWARE\Microsoft
# List subkeys
Get-ChildItem HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion
Werte lesen
# Read all values in a key
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion"
# Read a specific value
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion" -Name "ProgramFilesDir"
# Get just the value data
(Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion").ProgramFilesDir
# Check if a value exists
$value = Get-ItemProperty -Path "HKCU:\SOFTWARE\MyApp" -Name "Setting" -ErrorAction SilentlyContinue
if ($value) {
Write-Host "Value exists: $($value.Setting)"
} else {
Write-Host "Value does not exist"
}
Werte schreiben
# Create a new key
New-Item -Path "HKCU:\SOFTWARE\MyApp" -Force
# Create or modify a string value
Set-ItemProperty -Path "HKCU:\SOFTWARE\MyApp" -Name "AppName" -Value "My Application"
# Create a DWORD value
New-ItemProperty -Path "HKCU:\SOFTWARE\MyApp" -Name "EnableFeature" `
-Value 1 -PropertyType DWORD -Force
# Create a multi-string value
New-ItemProperty -Path "HKCU:\SOFTWARE\MyApp" -Name "ServerList" `
-Value @("Server01", "Server02", "Server03") -PropertyType MultiString -Force
# Create a binary value
New-ItemProperty -Path "HKCU:\SOFTWARE\MyApp" -Name "BinaryData" `
-Value ([byte[]](0x01, 0x02, 0x03, 0x04)) -PropertyType Binary -Force
# Create an expandable string value
New-ItemProperty -Path "HKCU:\SOFTWARE\MyApp" -Name "LogPath" `
-Value "%USERPROFILE%\Logs" -PropertyType ExpandString -Force
Werte und Schlüssel löschen
# Delete a specific value
Remove-ItemProperty -Path "HKCU:\SOFTWARE\MyApp" -Name "EnableFeature"
# Delete an entire key and all its contents
Remove-Item -Path "HKCU:\SOFTWARE\MyApp" -Recurse -Force
# Delete a value only if it exists
if (Get-ItemProperty -Path "HKCU:\SOFTWARE\MyApp" -Name "Setting" -ErrorAction SilentlyContinue) {
Remove-ItemProperty -Path "HKCU:\SOFTWARE\MyApp" -Name "Setting"
}
Remote-Registrierung abfragen
# Read registry on a remote computer
Invoke-Command -ComputerName "Server01" -ScriptBlock {
Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion" -Name "ProgramFilesDir"
}
Methode 4: Gruppenrichtlinieneinstellungen
Für Unternehmensumgebungen sind Gruppenrichtlinieneinstellungen (GPP) die empfohlene Methode zur Verteilung von Registrierungsänderungen auf mehrere Computer.
Schritte
- Öffnen Sie die Gruppenrichtlinien-Verwaltungskonsole und bearbeiten Sie ein GPO.
- Navigieren Sie zu Computerkonfiguration (oder Benutzerkonfiguration) > Einstellungen > Windows-Einstellungen > Registrierung.
- Klicken Sie mit der rechten Maustaste und wählen Sie Neu > Registrierungselement.
- Konfigurieren Sie das Registrierungselement:
- Aktion: Erstellen, Ersetzen, Aktualisieren oder Löschen
- Hive: Wählen Sie den Stammschlüssel
- Schlüsselpfad: Geben Sie den vollständigen Pfad ein
- Wertname: Der Name des Werts
- Werttyp: REG_SZ, REG_DWORD, usw.
- Wertdaten: Die festzulegenden Daten
- Klicken Sie auf OK.
Aktionen erklärt
| Aktion | Verhalten |
|---|---|
| Erstellen | Erstellt den Wert nur, wenn er noch nicht existiert |
| Ersetzen | Löscht und erstellt den Wert neu (entfernt ihn zuerst, falls vorhanden, dann erstellt ihn) |
| Aktualisieren | Erstellt den Wert, wenn er nicht existiert, oder ändert ihn, wenn er existiert |
| Löschen | Entfernt den Wert |
Aktualisieren ist die am häufigsten verwendete Aktion, da sie sowohl das Erstellen als auch das Ändern abdeckt.
Häufig verwendete Registrierungspfade
Hier sind häufig aufgerufene Registrierungsorte:
| Pfad | Zweck |
|---|---|
HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run | Startprogramme des aktuellen Benutzers |
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run | Startprogramme aller Benutzer |
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall | Liste installierter Programme |
HKLM\SYSTEM\CurrentControlSet\Services | Windows-Dienstkonfiguration |
HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer | Explorer-Shell-Einstellungen |
HKLM\SOFTWARE\Policies | Computer-Gruppenrichtlinieneinstellungen |
HKCU\SOFTWARE\Policies | Benutzer-Gruppenrichtlinieneinstellungen |
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion | Windows-Versionsinformationen |
Bewährte Sicherheitspraktiken
- Erstellen Sie immer eine Sicherungskopie, bevor Sie Änderungen vornehmen. Exportieren Sie den Schlüssel oder erstellen Sie einen Systemwiederherstellungspunkt.
- Löschen Sie niemals Schlüssel, die Sie nicht verstehen, insbesondere unter HKLM\SYSTEM oder HKLM\SOFTWARE\Microsoft\Windows NT.
- Testen Sie Änderungen auf einem einzelnen Computer, bevor Sie sie über GPO auf mehrere Computer verteilen.
- Verwenden Sie Gruppenrichtlinieneinstellungen für die Unternehmensverteilung anstelle von manueller Bearbeitung oder Anmeldeskripten.
- Dokumentieren Sie alle Änderungen, damit sie rückgängig gemacht werden können, falls Probleme auftreten.
- Verwenden Sie die Option /f mit Vorsicht bei reg.exe, da sie Bestätigungsaufforderungen umgeht.
Zusammenfassung
Windows-Registrierungseinträge können über mehrere Methoden gelesen, geschrieben und gelöscht werden. Regedit bietet eine grafische Oberfläche zum interaktiven Durchsuchen und Bearbeiten. Das Befehlszeilentool reg.exe ist ideal für Skripte und Batchdateien. PowerShell-Cmdlets (Get-ItemProperty, Set-ItemProperty, New-ItemProperty, Remove-ItemProperty) bieten den flexibelsten und skriptfähigsten Ansatz. Für Unternehmensumgebungen bieten Gruppenrichtlinieneinstellungen eine zentralisierte, verwaltbare Verteilung von Registrierungsänderungen auf domänenverbundene Computer. Unabhängig von der Methode erstellen Sie immer eine Sicherungskopie, bevor Sie die Registrierung ändern, und testen Sie die Änderungen zuerst in einer kontrollierten Umgebung.