Registry - Regelung Pfadangaben
Hallo,
ich bin neu hier und habe gleich eine grundlegende Frage zum
Windows Registrierungseditor.
Durch einen Zwischenfall mit einem Trojaner sind mir in der Registry
einige Pfadangaben verloren gegangen.
Jetzt wollte ich insbesondere die (Image-)Paths fixen und stehe vor einem Problem:
Durch einige Recherchen wusste ich, dass man für reg.-Dateien in der
Regel Pfade mit Doppelbackslash und einem @-Zeichen angibt.
Wie verhält es ich nun aber wenn ich die Registry mit einem geladenen
Profil bearbeiten möchte?
(Anmerkung: Das System ist offline, die Bearbeitung erfolgt über eine Boot CD,
die zu bearbeitenden Schlüssel wären HKLM\SYSTEM und HKLM\SOFTWARE)
Ich würde mich über jede Hilfe freuen.
Zusatz:
Das betreffende Betriebssystem ist ein Vista (32bit) Home Premium.
ich bin neu hier und habe gleich eine grundlegende Frage zum
Windows Registrierungseditor.
Durch einen Zwischenfall mit einem Trojaner sind mir in der Registry
einige Pfadangaben verloren gegangen.
Jetzt wollte ich insbesondere die (Image-)Paths fixen und stehe vor einem Problem:
Durch einige Recherchen wusste ich, dass man für reg.-Dateien in der
Regel Pfade mit Doppelbackslash und einem @-Zeichen angibt.
Wie verhält es ich nun aber wenn ich die Registry mit einem geladenen
Profil bearbeiten möchte?
(Anmerkung: Das System ist offline, die Bearbeitung erfolgt über eine Boot CD,
die zu bearbeitenden Schlüssel wären HKLM\SYSTEM und HKLM\SOFTWARE)
Ich würde mich über jede Hilfe freuen.
Zusatz:
Das betreffende Betriebssystem ist ein Vista (32bit) Home Premium.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 172431
Url: https://administrator.de/contentid/172431
Ausgedruckt am: 26.11.2024 um 15:11 Uhr
13 Kommentare
Neuester Kommentar
Hallo, und willkommen im Forum.
Was du da gelesen hast, stimmt nur teilweise. Richtig ist, dass in .reg-Dateien (und nur da) Backslashes für Pfadangaben verdoppelt werden müssen. Das @-Zeichen wird für den (Standard)-Bezeichner (also den default-Eintrag) verwendet und hat mit den Pfaden nichts zu tun.
Du kannst aber mit der Vista-Installations-CD arbeiten und dort über die Computerreparaturoption in die > Eingabeaufforderung starten. Von dort lässt sich der Registry-Editor aufrufen, der normalerweise in
C:\Windows\System32\regedit.exe zu finden ist.
Du musst dann über die Auswahl von HKEY_LOCAL_MACHINE jeweils (nacheinander) über Datei > Struktur laden aus dem Windows-Verzeichnis C:\Windows\System32\config die Datei SYSTEM laden, Namen für den Zweig vergeben, dann kannst du in dem Zweig ganz normal suchen und ihn bearbeiten. Anschließend den Keypfad über Struktur entladen wieder zurückschreiben und die gleiche Prozedur für die Datei SOFTWARE wiederholen. Damit kannst du dann die Einträge ganz normal ohne doppelte Backslashes bearbeiten.
Allerdings halte ich eine "Reparatur" nach einem Trojanerbefall nicht für sinnvoll, da das System nicht mehr vertrauenswürdig ist. In solchen Fällen würde ich eine Neuinstallation bzw. die Rücksicherung eines zuvor hoffentlich erstellen Backups bevorzugen und vor allen Dingen alle Pass- und Kennwörter ändern.
Gruß
Was du da gelesen hast, stimmt nur teilweise. Richtig ist, dass in .reg-Dateien (und nur da) Backslashes für Pfadangaben verdoppelt werden müssen. Das @-Zeichen wird für den (Standard)-Bezeichner (also den default-Eintrag) verwendet und hat mit den Pfaden nichts zu tun.
Du kannst aber mit der Vista-Installations-CD arbeiten und dort über die Computerreparaturoption in die > Eingabeaufforderung starten. Von dort lässt sich der Registry-Editor aufrufen, der normalerweise in
C:\Windows\System32\regedit.exe zu finden ist.
Du musst dann über die Auswahl von HKEY_LOCAL_MACHINE jeweils (nacheinander) über Datei > Struktur laden aus dem Windows-Verzeichnis C:\Windows\System32\config die Datei SYSTEM laden, Namen für den Zweig vergeben, dann kannst du in dem Zweig ganz normal suchen und ihn bearbeiten. Anschließend den Keypfad über Struktur entladen wieder zurückschreiben und die gleiche Prozedur für die Datei SOFTWARE wiederholen. Damit kannst du dann die Einträge ganz normal ohne doppelte Backslashes bearbeiten.
Allerdings halte ich eine "Reparatur" nach einem Trojanerbefall nicht für sinnvoll, da das System nicht mehr vertrauenswürdig ist. In solchen Fällen würde ich eine Neuinstallation bzw. die Rücksicherung eines zuvor hoffentlich erstellen Backups bevorzugen und vor allen Dingen alle Pass- und Kennwörter ändern.
Gruß
Es ist richtig, dass es falsch ist.
Damit kann ich nichts anfangen, das sind weder vollständige Angaben direkt aus der Registry noch Zeilen aus einer .reg-Datei.
Aber dass Daten keinen kompletten Pfad enthalten, kann durchaus normal sein.
Aber dass Daten keinen kompletten Pfad enthalten, kann durchaus normal sein.
(beide sind REG_SZ)
Nein, der 1. ist REG_EXPAND_SZ und hat keine doppelten Backslashes. Der 2. ist korrekt so.
So weit, so gut. Hilfe zu Korrekturen nach Trojanerbefall darfst du allerdings von mir nicht weiter erwarten. Ich habe dazu eine ganz spezielle Meinung und Einstellung
Gruß
Wenn du die Registry verstehen möchtest, hätte ich einen guten Link (mit Fortsetzung):
http://support.microsoft.com/kb/822890/de
Fragen darfst du aber trotzdem.
http://support.microsoft.com/kb/822890/de
Fragen darfst du aber trotzdem.
Pfadangeben müssen immer dann in Anführungszeichen gesetzt werden, wenn sich im Pfad ein Leerzeichen befindet. Parameter wie z. B. "%1" müssen ebenfalls in Anführungszeichen gesetzt werden.
Dabei ist es egal, ob es sich um REG_SZ oder REG_EXPAND_SZ handelt. REG_EXPAND_SZ unterscheidet sich nur dadurch, dass in letzterem Environmentvariablen verwendet werden.
Unter XP habe ich in keinem Service-Eintrag Pfade in Klammern, unter Vista wird es deshalb so sein, weil sich ja bereits in "Program Files" ein Leerzeichen befindet.
Ansonsten dürte die Angabe in der Registry auch davon abhängen, ob der Wert für das Programm oder die Funktion, die damit arbeitet, als ein Übergabeparameter betrachtet wird. Dann muss der gesamte Wert in Anführungszeichen stehen, wenn er aus mehreren Teilen besteht.
Vielleicht kannst du das im Technet verifizieren und findest dort genauere Informationen. Meine Erläuterungen sind so, wie ich mir lögisch vorstelle.
Dabei ist es egal, ob es sich um REG_SZ oder REG_EXPAND_SZ handelt. REG_EXPAND_SZ unterscheidet sich nur dadurch, dass in letzterem Environmentvariablen verwendet werden.
Unter XP habe ich in keinem Service-Eintrag Pfade in Klammern, unter Vista wird es deshalb so sein, weil sich ja bereits in "Program Files" ein Leerzeichen befindet.
Ansonsten dürte die Angabe in der Registry auch davon abhängen, ob der Wert für das Programm oder die Funktion, die damit arbeitet, als ein Übergabeparameter betrachtet wird. Dann muss der gesamte Wert in Anführungszeichen stehen, wenn er aus mehreren Teilen besteht.
Vielleicht kannst du das im Technet verifizieren und findest dort genauere Informationen. Meine Erläuterungen sind so, wie ich mir lögisch vorstelle.
Hallo,
der Thread ist zwar schon sehr alt, aber vielleicht liest jemand doch meine Frage:
wenn ich in der Registry folgende Angabe verwende:
funktioniert es (shell-command-Eintrag Kontextmenü für VBS-Datei als Beispiel)
schreibe ich:
wird das Programm nicht direkt aufgerufen, sondern der Explorer fragt nach einem Programm, mit dem die vbs geöffnet werden soll.
Wo ist der Fehler?
Gruß
Peter
der Thread ist zwar schon sehr alt, aber vielleicht liest jemand doch meine Frage:
wenn ich in der Registry folgende Angabe verwende:
"C:\Users\XXXXXXX\AppData\Local\Programs\Microsoft VS Code\Code.exe" "%L"
funktioniert es (shell-command-Eintrag Kontextmenü für VBS-Datei als Beispiel)
schreibe ich:
""%LOCALAPPDATA%\Programs\Microsoft VS Code\Code.exe" "%L""
wird das Programm nicht direkt aufgerufen, sondern der Explorer fragt nach einem Programm, mit dem die vbs geöffnet werden soll.
Wo ist der Fehler?
Gruß
Peter