Tags: VHD, PowerShell, Troubleshooting, Registry
Wenn man auf die Registrierdatenbank eines ausgeschalteten Windows zugreifen muss, dann kann man einzelne Zweige (Hives) in die Hierarchie
des Live-Systems mounten und dort editieren. Dazu eignet sich sowohl das
GUI-Tool regedit.exe als auch PowerShell.
Es gibt mehrere Gründe, die Registry offline zu bearbeiten. Ein häufiger Anlass ist das Troubleshooting, wenn die Konfiguration eines Rechners so geändert wurde, dass er nicht mehr startet. In diesem Fall kann man versuchen, die problematische Einstellung aus der Registry zu entfernen.
WinRE booten oder VHD mounten
Eine weitere Gelegenheit für das Offline-Bearbeiten der Registrierdatenbank ergibt sich bei ausgeschalteten virtuellen Maschinen, wenn man bestimmte Konfigurationen auslesen möchte, ohne die VM hochzufahren.
Bei einem nicht mehr startfähigen System wird man erst WinRE booten, um von dort die benötigten Tools für die Reparatur der beschädigten Registry zu laden. Unter Windows 10 öffnet man dazu eine Eingabeaufforderung unter Problembehandlung => Erweitere Optionen.
Einfacher ist der Zugang zu einer ausgeschalteten VM, weil man deren VHD(X)-Laufwerk nur unter dem Online-Windows mounten muss. Dabei wird ihm ein Laufwerksbuchstabe zugeordnet, so dass man einfach durch das Dateisystem des Gastes navigieren kann.
Hive in regedit.exe laden
Entscheidet man sich für den Einsatz des grafischen Registry-Editors, dann geht man folgendermaßen vor:
- Man wählt in regedit den Zweig aus, in den man den Hive der externen Registry laden möchte (also zum Beispiel HKEY_CURRENT_USER (HKCU) oder HKEY_LOCAL_MACHINE (HKLM)).
- Im Menü Datei führt man den Befehl Struktur laden aus und wechselt auf dem Laufwerk des ausgeschalteten Windows in das Verzeichnis \windows\system32\config. Die Dateien SOFTWARE, SYSTEM und SAM repräsentieren die Datenbanken für HKLM\Software, HKLM\System und HKLM\Sam. DEFAULT steht für HKCU\Default und NTUSER.DAT für HKEY_CURRENT_USER.
- Nach der Auswahl der Datenbank wird man nach einem Namen für den Schlüssel gefragt, an dem der Hive eingehängt wird.
Nun kann man die neue Substruktur im Registriereditor auslesen und bearbeiten.
Nach Abschluss der Tätigkeiten hängt man die Datenbank des Offline-Systems wieder aus, indem man sie im Editor hervorhebt und dann den Befehl Datei => Struktur entfernen ausführt.
Auf Offline-Registry zugreifen mit PowerShell
Man würde erwarten, dass PowerShell die externe Datenbank direkt mit New-PSDrive mounten kann, so dass man sie danach wie gewohnt als Laufwerk anspricht. Der Registry-Provider kann aber keine Hives aus dem Dateisystem laden, so dass man dafür das Dienstprogramm reg.exe bemühen muss:
reg load HKLM\temp e:\Windows\System32\config\system
Dieser Beispielaufruf lädt den Hive SYSTEM in den Ordner temp unterhalb von HKEY_LOCAL_MACHINE. Nun kann man diesen Zweig mit den Mitteln von PowerShell bearbeiten (siehe dazu: Registry-Schlüssel hinzufügen und löschen mit Powershell).
Folgendes Beispiel würde prüfen, ob das Gastbetriebssystem in einer VM Mitglied einer Domäne ist:
Mit dem Parameter unload trennt reg.exe die Verbindung zur externen Datenbank. Allerdings sollte man vorher sicherstellen, dass der Zweig in keinem anderen Programm geöffnet ist und das aktuelle Verzeichnis von PowerShell sich nicht dort befindet. Andernfalls scheitert die Operation.
Täglich Know-how für IT-Pros mit unserem Newsletter
Ähnliche Beiträge
- Windows-Sicherheit öffnet sich nicht: Store-App mit PowerShell zurücksetzen
- Updates in WSUS importieren mit Internet Explorer oder PowerShell
- WSUS-Speicherplatz zurückgewinnen: Alte und ersetzte Updates löschen
- Invoke-WebRequest: Es konnte kein geschützter SSL/TLS-Kanal erstellt werden
- DHCP-Server analysieren mit PowerShell
Weitere Links