nightythehawk
Goto Top

(Batchdatei) Registry Schlüssel u. Wert aus kompletter Registry in txt exportieren

Hallo Administratoren, Entwickler und User,

wie in meinen Betreff beschrieben, versuche ich mit einer Batchdatei einen bestimmten Schlüssel u. Wert aus der Registry zu exportieren. Mein Problem hierbei ist das der bestimmte Wert an verschiedenen Stellen sich befinden kann. Um alle abzudecken würde ich gerne eine Suche via Batchdatei anstarten die die Registry durchsucht und alle gefundenen Dateien in eine Textdatei exportiert.

Bevor ich mit meinem Vorgehen fortfahre, hier ein paar Eckdaten zu meinem System:
Das Skript soll auf Windows XP PC's ausgeführt werden und später, wenn möglich auch Windows 8.1 kompatibel sein. Die Werte die ich auslesen möchte gehören zu einem Programm, welches die Angewohnheit hat sich nicht richtig zu deinstallieren. Ein eigenes Removal Tool besitzt dieses Programm leider nicht. Die Werte sind mir bekannt, da es eine Anleitung gibt mir der man eine manuelle Löschung des Programms durchführen kann, aber das kann man sicherlich auch eleganter in einem Skript lösen. Das Skript soll die Daten erst einmal nur auslesen, damit ich prüfen kann, das es richtig funktioniert und anschließend soll natürlich (vielleicht mit einer vorherigen Auflistung in der Werte) die gefundenen Werte gelöscht werden.

Bei meiner Suche im Internet bin ich auf den Befehl REG QUERY gestoßen und habe wie folgt angefangen mir meine Abfrage zu bauen:

REG QUERY HKCU /v "25FB6C90ABD679A499936B2CE47483FB" /s

Leider erscheint die Meldung: Fehler: Zu viele Befehlszeilenparameter
Wenn ich den Parameter "/s" auslasse findet er natürlich den Wert nicht aber startet die Suche.

Kann mir jemand einen Tipp geben wie ich evtl. weiterkomme?

MfG Nighty

Content-Key: 250548

Url: https://administrator.de/contentid/250548

Printed on: April 19, 2024 at 22:04 o'clock

Member: Pjordorf
Pjordorf Sep 30, 2014 updated at 10:29:16 (UTC)
Goto Top
Hallo,

Zitat von @Nightythehawk:
< REG QUERY HKCU /v "25FB6C90ABD679A499936B2CE47483FB" /s
Sicher das du deine Abfrage genauso geschrieben hast, denn die funktioniert.... Mach zur gegen probe in dein CMD Fenster mal
reg query hkcu /v "Version" /s  
Was wird da in dein CMD Fenster dann ausgegeben?

Gruß,
Peter
Member: Nightythehawk
Nightythehawk Sep 30, 2014 updated at 10:15:19 (UTC)
Goto Top
Hallo Peter,

unter welchem Betriebssystem hast du den Befehl ausgeführt?

Unter Windows XP erhalte ich bei deiner Abrfrage:
"Fehler: Ungültiger Schlüsselname"

Unter Windows 8.1 erhalte ich ebenfalls:
"Fehler: Ungültiger Schlüsselname"

Unter Windows 8.1 erhalte ich mit meiner Abfrage:
"Suchvorgang abgeschlossen: 0 übereinstim......."

Das verwirrt mich jetzt etwas face-smile
Member: Pjordorf
Pjordorf Sep 30, 2014 at 10:35:50 (UTC)
Goto Top
Hallo,

Zitat von @Nightythehawk:
unter welchem Betriebssystem hast du den Befehl ausgeführt?
Win 7

"Fehler: Ungültiger Schlüsselname"
Klar, da fehlt ja noch wo gesucht werden soll. Mein Fehler. Ich habe die abfrage oben gerade korrigiert. Sorry (ist beim eintippsen wohl nicht vom Hirn an die Finger an die Tastatur gelangt face-sad)

Unter Windows 8.1 erhalte ich mit meiner Abfrage:
Und bei Win7 bzw. XP? (nur weil du nach dem OS fragtest...)

"Suchvorgang abgeschlossen: 0 übereinstim......."
Ist doch dann korrekt wenn dort<code zype=plain>Suchvorgang abgeschlossen: 0 übereinstimmende Zeichenfolge(n) gefunden. steht und der Suchschlüssel nicht existiert, oder?

Gruß,
Peter
Member: Nightythehawk
Nightythehawk Sep 30, 2014 at 11:18:54 (UTC)
Goto Top
Nein, die Meldung kommt unter Windows XP immer noch!
Die Befehle von Windows 7/8.1 sind offensichtlich nicht kompatibel mit Windows XP.

Hm, hättest du vielleicht eine Idee wie man das Problem anderst lösen kann?

Wichtig ist das es wie gesagt eine Batchdatei ist (da ich mich mit höherer Programmierung überhaupt nicht auskenne) und das es mir die komplette Registry nach bestimmten Werten und Schlüsseln durchsucht.

Gruß Nighty
Member: Pjordorf
Pjordorf Sep 30, 2014 at 11:42:52 (UTC)
Goto Top
Hallo,

Zitat von @Nightythehawk:
Nein, die Meldung kommt unter Windows XP immer noch!
https://www.microsoft.com/resources/documentation/windows/xp/all/proddoc ...

Hm, hättest du vielleicht eine Idee wie man das Problem anderst lösen kann?
http://superuser.com/questions/609133/reg-query-windows-7-vs-windows-xp

Und ein
reg query "hkcu" /v "25FB6C90ABD679A499936B2CE47483FB" /s  
liefert dir was?

Gruß,
Peter
Member: colinardo
colinardo Sep 30, 2014 updated at 12:44:06 (UTC)
Goto Top
Moin,
reg query "hkcu" /v "25FB6C90ABD679A499936B2CE47483FB" /s
unter XP läuft das in dieser Art und Weise nicht. Da bei der Suche nach Schlüsseln der Schalter /s unter XP nicht unterstützt wird.

Alternative:

Mit Powershell (lässt sich in XP problemlos nachrüsten), kein Thema:
gci 'HKCU:\' -Recurse -ErrorAction SilentlyContinue | ?{$_.PSChildName -like '25FB6C90ABD679A499936B2CE47483FB'}
Um den gefundenen Schlüssel dann zu löschen reicht ein Anhängen von remove-item
gci 'HKCU:\' -Recurse -ErrorAction SilentlyContinue | ?{$_.PSChildName -like '25FB6C90ABD679A499936B2CE47483FB'} | remove-item -Force -Recurse -ErrorAction SilentlyContinue
Grüße Uwe
Member: Nightythehawk
Nightythehawk Sep 30, 2014 at 12:50:45 (UTC)
Goto Top
Danke colinardo für deinen Lösungsansatz, werde ich wahrscheinlich so machen wenn es keine andere Möglichkeit über die Eingabeaufforderung gibt!
An jedem Arbeitsplatz, wo der Fehler auftritt die Powershell nachzurüsten möchte ich aber ehrlich gesagt nicht.

Ok, dann wird mein Skript auf Windows 8.1 nur angepasst. Windows XP ist derzeit eh am aussterben bei uns!

Nochmals danke an alle sinnvollen Beiträge.
Member: colinardo
colinardo Sep 30, 2014 updated at 12:55:28 (UTC)
Goto Top
naja mit VBS ließe sich das auch noch machen, aber da du gesagt hast das du dich mit "höherer" Programmierung nicht auskennst...hatte ich das ausgelassen face-wink
Member: Nightythehawk
Nightythehawk Sep 30, 2014 at 15:42:43 (UTC)
Goto Top
Wie aufwendig ist das?

Das Skript müsste mehrere Verzeichnisse löschen, Dienste killn, Berechtigungen ändern bzw. setzen und Werte in der Registry löschen und überschreiben.
Das es mit VBS, wenn man es kann, geht kann ich mir gut vorstellen.

Hab nur den Grundkurs in C++ von der Berufsschule ;) und das man da nicht viel lernt muss man eigentlich nicht erwähnen!
Member: colinardo
colinardo Sep 30, 2014 updated at 16:18:02 (UTC)
Goto Top
Zitat von @Nightythehawk:
Wie aufwendig ist das?
Das Skript müsste mehrere Verzeichnisse löschen, Dienste killn, Berechtigungen ändern bzw. setzen und Werte in der
Registry löschen und überschreiben.
Das es mit VBS, wenn man es kann, geht kann ich mir gut vorstellen.
geht alles, kein Thema ... das ist dann aber was für eine Auftragsarbeit face-wink
Member: Nightythehawk
Nightythehawk Sep 30, 2014 at 16:43:57 (UTC)
Goto Top
Ich werde das schon selber machen.
Wird nur etwas dauern bis ich mir das nötige Know-How angeeignet habe.