Entfernen Sie Registrierungsschlüssel mithilfe von reg.exe in einem Stapelskript

5

Ich habe dieses kleine Batch-Skript geschrieben, um die Registrierungen von mehr als 300 identischen PCs einiger sehr spezifischer Registrierungsschlüssel automatisch zu bereinigen. Dies funktioniert bis zur Übergabe der Schlüsselvariablen an den Befehl "reg delete% 1".

@echo off
C:
cd C:\Program Files\McAfee\Common Framework\
framepkg.exe remove=agent /silent

setlocal
for /F %%c in ('REG QUERY HKLM\SOFTWARE /s^|FIND "HKEY_"^|findstr /L /I /C:"mcafee"')  do call :delete %%c
endlocal
goto :EOF

:delete
reg delete /f %1
pause

Jede Debugging-Hilfe wäre sehr dankbar!

Lex
quelle
2
Cool, ein Skript, das McAfee löscht! Ist das die Nutzlast Ihrer Malware oder so?
allquixotic
1
LOL NEIN !, auch im Ernst. Malware? Es ist ein Batch-Skript-Mann. Ich bin ein Sys-Administrator. Der Agent ist Teil unseres EPA-Servers, aber es ist ein großer Schmerz. Normalerweise können wir einfach ein serverseitiges Upgrade ausführen und den neuen Client und alle Updates auf die Endbenutzer-Computer übertragen. In einigen Fällen (viel in diesem Fall, seufz ) muss ich den Agenten ansonsten manuell entfernen und dann bereinigen Alle Registrierungsverweise darauf, bevor ich den neuen Agenten neu installieren und die Updates herunterladen kann. zu viel Aufwand daher Skript.
Lex
1
OK, du hast mich überzeugt. Welchen genauen Fehler erhalten Sie, wenn versucht wird, ihn zu löschen? Wurde der Schlüssel nicht gefunden? Vielleicht können Sie die Shell-Variablen in einem echokurz vor dem Aufruf des Löschens erweitern, um zu sehen, was %1ist?
allquixotic
2
Erhalten Sie irgendwelche Fehler? Setzen Sie auch Anführungszeichen %1. Viele dieser McAfee-Schlüssel enthalten Leerzeichen.
Kasius
keine fehler, aber wie allquixotic sagte haben die tasten ein Leerzeichen in ihnen. Ich habe tatsächlich versucht, "" Markierungen auf beiden Seiten des Werts hinzuzufügen, aber es scheint, dass sie überhaupt nicht analysiert werden. Ich werde es noch einmal versuchen, danke für die Hilfe Jungs
Lex

Antworten:

6

Es sieht so aus, als reg deletemüsste das /fam Ende sein:

C:\TEMP>reg delete /f hkcu\test
ERROR: Invalid key name.
Type "REG DELETE /?" for usage.

C:\TEMP>reg delete hkcu\test /f
The operation completed successfully.
Kasius
quelle