Wie finde und lösche ich mehrere Windows-Registrierungseinträge?

10

Ich muss die Windows-Registrierung bereinigen, nachdem ich ein Programm manuell entfernt habe. Was ich tun muss, ist zu folgen.

  1. Finden Sie alle Schlüssel, Werte und Daten, die "etwas" enthalten.
  2. Löschen Sie alle Schlüssel, Werte und Daten, die der Beschreibung entsprechen.

Kann ich den Reg-Befehl in CMD dafür irgendwie verwenden?

Mit "etwas" meine ich in diesem Fall "office12".

Samir
quelle
Sie könnten, aber höchstwahrscheinlich würden Sie nicht bekommen, was Sie wollten. Ich werde später erweitern, aber bedenken, dass Programme Registrierungseinträge an nicht offensichtlichen Stellen platzieren können (weshalb Deinstallationsprogramme existieren). Für den REG-Befehl ist hier die Hilfe
Doktoro Reichard
@DoktoroReichard Wie würde die Syntax zum Abfragen aller Root-Schlüssel und nicht nur bestimmter Schlüssel wie HKLM lauten? Ist es möglich, umzuleiten Reg Query, Reg Deletedamit gefundene Übereinstimmungen gelöscht werden? Können Sie dies in einer Zeile und ohne erweiterte Skripterstellung, Stapelverarbeitung usw. tun?
Samir
Können Sie definieren, was Sie als "etwas" betrachten? Suchen Sie nach Wertnamen, Schlüsselnamen, Daten in Werten oder was?
Doktoro Reichard
Ich meine "office12". Es spielt keine Rolle, ob es sich um einen Schlüssel, einen Wert oder Daten handelt. Ich möchte sie alle durchsuchen, genauso wie Sie mit dem Befehl Strg + F (Suchen) in RegEdit überprüfen können, was Sie suchen möchten.
Samir
Ich habe wirklich nur nach einer Möglichkeit gesucht, den Prozess ein wenig zu automatisieren. Anstatt Strg + F drücken zu müssen, geben Sie "office12" in das Textfeld ein, geben Sie ein, DEL, F3, DEL, F3, DEL, F3, DEL usw.
Samir

Antworten:

7

Probieren Sie Powershell:

Get-ChildItem -path HKLM:\ -Recurse | where { $_.Name -match 'office12'} | Remove-Item -Force

Dadurch wird rekursiv HKEY_LOCAL_MACHINE ausgelöst und alle übereinstimmenden Schlüssel gelöscht. Mehr Infos hier

Krzysztof Gapski
quelle
2
Können Sie erklären, was dieser Befehl bewirkt?
Burgi
Ich bekomme die Erlaubnis verweigert, nachdem ich Powershell als Administrator ausgeführt habe, und Ideen
Dr. Manhattan
@DrManhattan Regedit, wählen Sie Ihren Schlüssel aus, klicken Sie mit der rechten Maustaste -> Berechtigungen -> Erweitert -> Eigentümer, wählen Sie Administratoren, Übernehmen. Dann Grand FC zu "System" und, wenn Sie möchten, auch zu "Administratoren".
Krzysztof Gapski
Vielen Dank, das hat funktioniert, aber ich musste den Ort angeben, weil PermissionDenied: (HKEY_LOCAL_MACHINE\SECURITY:String)ich den Befehl gegeben habe. Get-ChildItem -path HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall -Recurse | where { $_.Name -match 'mcafee'} | Remove-Item -Force Sie haben es erraten und mcafee entfernt
Dr. Manhattan
5

Ich denke, eine Anwendung namens RegScanner kann Ihnen helfen, obwohl sie, wie in anderen Antworten angegeben, möglicherweise nicht genau das ist, was Sie mit Ihrer Registrierung tun möchten. Verwenden Sie sie daher mit Vorsicht.

Für mehr zerstörerische Kraft können Sie PsExec damit verwenden, z

C:\progs\PsExec.exe -i -d -s c:\progs\regscanner-x64\regscanner.exe

Dadurch wird es als SYSTEM-Benutzer ausgeführt. Wenn Sie einige Registrierungsschlüssel immer noch nicht löschen können, wird in diesem Artikel erläutert, wie Sie Berechtigungen für Registrierungsschlüssel bearbeiten .

analytik
quelle
1

Wie ich im Kommentar sagte, können Sie Registrierungsschlüssel nach Belieben löschen, entweder über die Eingabeaufforderung oder manuell mit Regedit. Das große Problem ist jetzt Ihr erster Punkt.

  1. Finden Sie alle Schlüssel, Werte und Daten, die "etwas" enthalten.

Sofern Sie die Registrierung bei der Installation des Programms nicht überwacht / überwacht haben (und unter der Annahme, dass das Programm zur Laufzeit keine Registrierungsschlüssel hinzugefügt hat, müssten Sie die Registrierung von Anfang bis Ende überwachen), hat das Programm möglicherweise hinzugefügt Schlüssel zur Registrierung an nicht offensichtlichen Stellen.

Die meisten Programme fügen ihre Registrierungsschlüssel in HKEY_CURRENT_USERS\Softwareoder in HKEY_LOCAL_MACHINE\Softwareeinem dedizierten Zweig hinzu (ich betrachte beispielsweise wxMaxima im ersten Pfad). Wenn Sie den entsprechenden Zweig gelöscht haben, können Sie theoretisch alle dem Programm zugeordneten Schlüssel löschen. Einige Programme können jedoch irgendwo in der restlichen Registrierung etwas ändern , und das hat keine gute Faustregel.

Wenn Sie andererseits alles überwacht haben, ist das Umkehren der Änderungen trivial (weil Sie wissen, was sie waren). Ich nehme an, Sie könnten das Programm in einer virtuellen Umgebung neu installieren und dort überwachen. Theoretisch würden Sie die gleichen Ergebnisse erhalten.

Nach dem Lesen der REG-Hilfe steht keine Option zur Verfügung, um das zu tun, was Sie für 1 vorgeschlagen haben. Sie müssen lediglich REG QUERYdie Werte in einem Registrierungsschlüssel überprüfen. So fügen Sie eine Verwendung ein:

C:\Documents and Settings\User>reg query HKCU\Software\wxMaxima

! REG.EXE VERSION 3.0

HKEY_CURRENT_USER\Software\wxMaxima
    ShowTips    REG_DWORD       0x1
    tipNum      REG_DWORD       0xb
    pos-x       REG_DWORD       0xfffffffc
    pos-y       REG_DWORD       0xfffffffc
    pos-w       REG_DWORD       0x408
    pos-h       REG_DWORD       0x2ea
    pos-max     REG_DWORD       0x1
    lastPath    REG_SZ  (some random path)
    maxima      REG_SZ  C:\Maxima\\bin\maxima.bat
    parameters  REG_SZ  -X '--dynamic-space-size 1000'
    fontSize    REG_DWORD       0xc
    mathFontsize        REG_DWORD       0xc
    matchParens REG_DWORD       0x1
    showLong    REG_DWORD       0x0
    fixedFontTC REG_DWORD       0x1
    changeAsterisk      REG_DWORD       0x0
    enterEvaluates      REG_DWORD       0x0
    saveUntitled        REG_DWORD       0x1
    openHCaret  REG_DWORD       0x0
    defaultPort REG_DWORD       0xfaa
    usejsmath   REG_DWORD       0x1
    keepPercent REG_DWORD       0x1
    pos-restore REG_DWORD       0x0
    language    REG_DWORD       0x0
    fontEncoding        REG_DWORD       0x0

HKEY_CURRENT_USER\Software\wxMaxima\AUI

HKEY_CURRENT_USER\Software\wxMaxima\RecentDocuments

HKEY_CURRENT_USER\Software\wxMaxima\Style

HKEY_CURRENT_USER\Software\wxMaxima\Wiz

Ich suche nach Lösungen. Eine, die ich gefunden habe, besteht darin, die Registrierung in eine Textdatei zu exportieren und von dort aus die Ergebnisse zu filtern.

Doktoro Reichard
quelle
Beachten Sie neuere Versionen von Windows nicht, dieses Problem tritt unter Windows XP auf. Das passt mir also gut. Es ist XP Pro SP3.
Samir
Das Programm, das ich entfernt habe, war Microsoft Office 2007. Ich wollte es nicht deinstallieren. Nach der Installation einer neueren Version von Windows Installer (von 3.0 bis 3.1) und anschließend von SP3 (mit dem mitgelieferten Windows Installer 4.5) trat das Problem auf. Grundsätzlich haben sich alle auf MSI oder Windows Installer basierenden Programme schlecht verhalten. Wenn ich mich bei Windows anmelde, wird das Dialogfeld "Windows Installer" "Vorbereitung der Installation" angezeigt und die "Netzwerkressource" ist nicht verfügbar. Es sah ähnlich aus wie dieses ! Wenn ich auf Abbrechen klickte, wurde es erneut angezeigt.
Samir
Ich musste den Prozess beenden, um aus dieser Schleife herauszukommen. Dann würde ein anderes Programm, "Logitech Communication Manager", mit mir herumspielen. Wenn ich versuchen würde, das Deinstallationsprogramm für eines der beiden Programme zu verwenden, würde es mir stattdessen das "Installationsprogramm" bringen. Es war also so, als würde man stecken bleiben und versuchen, etwas von einer "Netzwerkressource" zu installieren ??? ... Ich konnte es nicht mehr ertragen, also musste ich beide gewaltsam töten! Ich kümmere mich nicht um einen von ihnen. Ich habe versucht verschiedenen Microsoft KB - Artikel zu folgen, diese eine unter anderem. Aber ohne Erfolg ...
Samir
1
Davon abgesehen hat das Problem möglicherweise nicht einmal mit den Registrierungseinstellungen zu tun. Hatten Sie Grund, das zu vermuten? Wenn nicht, warum nicht eine weitere Frage zu Ihrem eigentlichen Problem stellen? Es könnte Leute anziehen, die einen Weg kennen, es zu lösen. Ebenfalls relevant ist, ob es nur mit dieser MATLAB .msi oder allem im Allgemeinen passiert.
Doktoro Reichard
Das war also der Hintergrund. Nein, die Matlab MSI-Datei ist kein Problem für mich. Ich habe den Link zu einem anderen Screenshot gepostet. Nur um die Art des Dialogfelds / der Eingabeaufforderung zu präsentieren, die ich erhielt. Meins hatte etwas mit Logiteche Communication Manager zu tun, und das andere hatte mit Office 2007 zu tun.
Samir
0

Verwenden Sie während der Deinstallation RevoUninstaller und dann CCleaner . Dies wird fast jede Referenz relativ sicher erhalten.

T.Todua
quelle
Revo Uninstaller ist ein unbeschwerter Müll. Ich habe buchstäblich nichts gesehen.