Registry vergleichen (alt-neu), neue Schlüssel in txt-Datei schreiben

Mitglied: martinstein

martinstein (Level 1) - Jetzt verbinden

17.11.2011 um 04:58 Uhr, 5895 Aufrufe, 5 Kommentare

Hallo Leute,

ich stehe wieder einmal vor einem Batch-Problem, die Überschrift sagt eigentlich schon (fast) alles:

Ich benötige ein Batch, dass unter WinXP den Registry-Zweig HKLM\Software\Classes\CLSID vor und nach einer Aktion vergleicht und neu eingetragene Schlüssel in eine txt-Datei schreibt.

Ich habe zwar ein lauffähiges Batch zusammengeschrieben, aber dessen Ausführung braucht mit über drei Minuten doch sehr lange:

[vor der Aktion]
reg copy HKLM\Software\Classes\CLSID HKLM\Software\Classes\Backup /s /f
[nach der Aktion]
reg compare HKLM\Software\Classes\CLSID HKLM\Software\Classes\Backup /s /od >Unterschiede.txt
reg delete HKLM\Software\Classes\Backup /f

Wie gesagt: Läuft, braucht aber ewig und zeigt nebenbei nicht nur neue Schlüssel, sondern auch neue Werte an. Danach hab ich Folgendes probiert:

[vor der Aktion]
reg export HKLM\Software\Classes\CLSID vorher.reg
[nach der Aktion]
reg export HKLM\Software\Classes\CLSID nachher.reg

Und die beiden Dateien wollte ich dann vergleichen mit einem Schnipsel, den ich hier gefunden hab:

for /f "delims=" %%a in (C:\vorher.reg) do findstr /c:"%%a" C:\nachher.reg || echo %%a>>C:\Unterschiede.txt

Weil ich nicht sicher bin, ob die Reihenfolge der vorher-nachher-Dateien stimmt, hab ich es auch umgekehrt probiert und auch mal die Endung in txt geändert - nix. Mit kleineren Testdateien ging es, aber die echten haben je 4,5 MB und wollen einfach nicht. Hat jemand eine Idee?

Danke und Gruß

Martin
Mitglied: holli.zimmi
17.11.2011 um 08:27 Uhr
Hi,

man konnte unter NT die bash als Kommando.intepreter einstellen.Dann kannst du dieses mit dem Vi, awk usw. vielleicht besser abfragen.
Oder einfach die das gute alte qbasic.exe benutzen ( einfach reinkopieren).

Wenn du das nicht installieren willst, dann mach es über eine andere PC , UNIX ( ich hab es nicht unter Linux probiert), kann die ksh-Shell auch mit einem parameter wie die der "geliebte" vi oder sogar emacs funktionieren.

Gruss

Holli
Bitte warten ..
Mitglied: 60730
60730 (Level 5)
17.11.2011 um 09:26 Uhr
Moin,

die Idee ist gut, der Ansatz verbesserungswürdig.

Wenn du zwei dateien Zeilenweise mit findstr /c: vergleichst, dann würde sich was anderes, als die Schleife anbieten - schau mal nach findstr /? /F:
Unabhängig davon, wenn eine Datei 4.5 MB groß ist - dann wird das logischerweise ein paar minuten brauchen.

Von daher such mal nach Procmon.

Gruß
Bitte warten ..
Mitglied: 64748
64748 (Level 2)
17.11.2011 um 09:45 Uhr
Guten Morgen zusammen,
Zitat von @holli.zimmi:
man konnte unter NT die bash als Kommando.intepreter einstellen.Dann kannst du dieses mit dem Vi, awk usw. vielleicht besser
abfragen.
...
Wenn du das nicht installieren willst, dann mach es über eine andere PC , UNIX ( ich hab es nicht unter Linux
probiert), kann die ksh-Shell auch mit einem parameter wie die der "geliebte" vi oder sogar emacs funktionieren.
diff könnte das richtige Tool auf einem Unix/Linux-Rechner sein.

Markus
Bitte warten ..
Mitglied: dog
17.11.2011 um 15:57 Uhr
dass unter WinXP den Registry-Zweig HKLM\Software\Classes\CLSID vor und nach einer Aktion vergleicht und neu eingetragene Schlüssel in eine txt-Datei schreibt.

Das Programm nennt sich RegShot.
Bitte warten ..
Mitglied: martinstein
21.11.2011 um 21:55 Uhr
Danke für die Denkanstöße, ich hab's jetzt folgendermaßen gelöst:

Vor und nach der Aktion exportiere ich mit reg export den entsprechenden Zweig in reg-Dateien, die ich dann mit dem Kommandozeilen-Tool regdiff vergleiche. Dauert alles in allem nur wenige Sekunden.

http://p-nand-q.com/download/regdiff.html

Danke nochmal und frohes Schaffen

Martin
Bitte warten ..
Heiß diskutierte Inhalte
Microsoft
Mitteilung an alle bei Störungen in der IT
gelöst David.B2D45Vor 1 TagFrageMicrosoft31 Kommentare

Hallo Forum, ich bin auf der Suche nach einem Programm / Tool mit dem ich Text (Laufschrift) auf allen (gewünschten) PC's / Benutzer im ...

Exchange Server
Exchange Zero Day Hack - Wie entfernen?
gelöst mtaiitVor 21 StundenFrageExchange Server30 Kommentare

Hallo, bei mir hat es einige Kundenserver getroffen Weiß einer wie ich diese WebShells wieder loswerde? Das löschen der betroffenen .aspx Dateien wird wohl ...

E-Mail
Kann man mit SPF Mails für eine Domäne vollständig verbieten?
gelöst StefanKittelVor 1 TagFrageE-Mail17 Kommentare

Hallo, viele Firmen haben ja zusätzliche Domänen. Als Web- und oder Mail-weiterleitung. Es werden also niemals Emails damit gesendet werden. kann man mit einem ...

Server-Hardware
Firmware-Updates auf Servern
redhorseVor 1 TagFrageServer-Hardware8 Kommentare

Guten Morgen, die Server-Hersteller stellen bekanntlich regelmäßig Firmware- und Treiberupdates für deren Serverhardware bereit, diese können z.B. bei Dell als Dell EMC Server Update ...

Linux
Windows auf Dualbootrechner entfernen und Linux die komplette Platte zur Verfügung stellen
N8chtfalterVor 1 TagFrageLinux6 Kommentare

Hallo Linux Profis, ich habe einen Laptop auf dem ursprünglichen Windows 10 installiert war, und ist, ich habe vor einem Jahr Ubuntu testhalber als ...

Windows Server
Domänenadmin kann kein Zertifikat anfordern
noodellsVor 1 TagFrageWindows Server6 Kommentare

Hallo Zusammen, ich habe ein Problem beim Finden einer Einstellung. Zuerst einmal der Stand: Es gibt eine Windows CA und Domaincontroller und alles funktionierte ...

Router & Routing
Routing öffentliche IP-Adresse-Traffic per BGP im internal-Network
gelöst jescheroVor 1 TagFrageRouter & Routing2 Kommentare

Guten Abend alle zusammen, ich habe ein kleines Problem beim Routing in pfSense. Mein aktuelles Aufbau ist folgenden: Ich habe eine pfSense-VM und zwei ...

Exchange Server
Windows Server 2019 + Exchange Server 2019 (Probleme mit Pop3)
gelöst aristonVor 1 TagFrageExchange Server4 Kommentare

Hallo zusammen, ich habe gerade angefangen, mit dem Exchange Server 2019 in der Demoversion zu arbeiten und folge Schritt für Schritt bei der notwendigen ...