Suchen und Ersetzen in der Registry

Für Änderungen in der Registry gibt es seitens Empirum und dem Betriebssystem einige Möglichkeiten. Diese habe ich hier bereits erläutert. Die Sektion „REG:“ lässt nahezu keine Wünsche offen. Durch Einführung des ReplaceRegValue Befehls ist es auch möglich Änderungen vorzunehmen, ohne den gesamten Registry Eintrag zu kennen. Will man nun jedoch einen Wert ändern, ohne genau zu wissen, wo er in der Registry steht hilft eigentlich nur noch ein „Suchen und Ersetzen“. Mit einem älteren Windows Resource Kit gab es einmal ein „regfind“ Befehl, der neben dem Suchen auch das Setzen ermöglichte. Doch dieser Befehl arbeitet in den heutigen Umgebungen nicht zuverlässig genug. Die nachfolgende Möglichkeit arbeitet bereits sehr global, hat jedoch meines Erachtens den einzigen Nachteil, des es keine Einträge vom Typ REG_BINARY auffinden und ersetzen kann.

Die hier beschriebene Methode kann natürlich auch im Maschinenteil zur Anpassung von HKEY_LOCAL_MACHINE Einträgen genutzt werden. Dazu müssen jedoch Anpassungen vorgenommen werden.

[Set:Product]
#Set:User, CLIENT

[Set:User]
Set HKCURegTree = HKEY_CURRENT_USER\Software\Hersteller
Set HKCURegFile = "%TEMP%\hkcu.reg"
Set SearchString = "Alt"
Set ReplaceString = "Neu"
CALLHIDDEN regedit.exe /E %HKCURegFile% %HKCURegTree%
ReplaceTextFile (%HKCURegFile%, %SearchString%, %ReplaceString%, 0)
CALLHIDDEN regedit.exe /S %HKCURegFile%
If %ErrorLevel%<>0 Then Set:CUError EndIf
Del %HKCURegFile%
[Set:CUError]
ErrorLogMsg Error: %ErrorLevel% : Error changing Registry
Abort

2 Kommentare Schreibe einen Kommentar

Schreibe einen Kommentar


/* */