derwowusste
Goto Top

Registry-OP per Skript - Zweig mit bestimmtem Inhalt löschen

Hallo Kollegen,

hier noch ein unschöne Aufgabe zum Wochenende. Wir nutzen Outlook 2010 und wollen ein Mail-Konto bei allen Usern in Rente schicken. Da über GPOs und .prf-Dateien sowas leider nicht geht, bleibt nur der Schritt, die Registry um den Konteneintrag zu erleichtern. Allerdings ist der genaue Pfad unbekannt, der Inhalt jedoch bekannt.

Wie müsste eine Batch für ein Anmeldeskript lauten, die ich auf den Registryzweig HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles loslasse und die alle Unterzweige durchparst und genau den löscht, unter dem sie den String POP3 findet?

Bin nervlich schon ein wenig runter und finde dazu keinen brauchbaren Ansatz.

Content-ID: 184495

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

Ausgedruckt am: 22.11.2024 um 11:11 Uhr

106009
106009 04.05.2012 um 17:59:31 Uhr
Goto Top
Hi,

Vorschlag: Wenn du erst mal von Hand in der Konsole folgendes eingibst:
 
REG QUERY "HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles" /s > irgendwohin.txt

und dir die Textdatei mal vornimmst, wirst du sicher den passenden Subkey mit dem entsprechenden Wert finden, den du dann gezielt z. B. mit

REG DELELET "Key" /v "Wert" /F
allein löschen kannst.

REG DELETE /? erläutert und hat Beispiele parat.

Gruß
DerWoWusste
DerWoWusste 04.05.2012 um 18:47:14 Uhr
Goto Top
Ja, diese Basics sind mir bekannt.
Aber wie lösche ich denn "gezielt"? Und warum findet findstr nichts in der Ausgabedatei (hatte ich schon selbst so getestet)? Findet nichts und wieder nichts. Füge ich den selben Text in eine leere Textdatei ein, findet er was.
106009
106009 04.05.2012 um 18:51:54 Uhr
Goto Top
Ich verstehe nur Bahnhof. Welchen Text fügst du ein? Die Ausgabe von REG QUERY?
bastla
bastla 04.05.2012 um 18:55:14 Uhr
Goto Top
Hallo DWW!

Versuch es einmal so:
type Textdatei.txt|findstr ...
Mit "type" erfolgt eine automatische Konvertierung der Unicode-Ausgabe von "reg query" ...

Grüße
bastla
60730
60730 04.05.2012, aktualisiert am 18.10.2012 um 18:50:48 Uhr
Goto Top
Moin,
Wasn hier los?

@ ollidolli:
Jetzt komm schon, endlich mal wieder einer, der die bude auf trapp bringt und dann verpieseln?
Wir wollen alle doch nir spielen...

@ dww:
Schau dir mal dieses beispiel an.

Zeile 8
08.
for /f "tokens=2 delims=x" %%a in ('reg query "HKLM\SOFTWARE\Adobe\Acrobat Reader\9.0\Installer" ^|find "VersionMin"') do set reader=%%a 

Gruss
Skyemugen
Skyemugen 04.05.2012 um 21:08:20 Uhr
Goto Top
Zitat von @60730:
@ ollidolli:
Jetzt komm schon, endlich mal wieder einer, der die bude auf trapp bringt und dann verpieseln?
Wir wollen alle doch nir spielen...
[OT]Mit Kaputtnicks spielt man nicht face-wink[/OT]
DerWoWusste
DerWoWusste 05.05.2012 um 11:40:45 Uhr
Goto Top
Moin bastla&Timo.
Ja, mit type ist das lesbarer, hatte ich auch festgestellt, aber ich komme noch nicht weiter. ich bekomme als Ausgabe beispielsweise nur
"POP3 Server"=hex:61,00,6e...
wobei ich den übergeordneten Pfad brauche: [HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\Name\9375CFF0413111d3B88A00104B2A6676\00000004], um ihn zu löschen.

Timo, ich verstehe noch nicht, was ich damit machen soll, wie bekomme ich so den gesuchten Zweignamen?
bastla
bastla 05.05.2012 um 12:06:15 Uhr
Goto Top
Hallo DWW!

Kannst Du den entsprechenden Ausschnitt (von 2 Zeilen vor bis 2 Zeilen nach der gesuchten Zeile) bitte als "Code" formatiert posten?

Grüße
bastla
DerWoWusste
DerWoWusste 05.05.2012 um 12:15:13 Uhr
Goto Top
"Reply-Forward Signature"=hex:4d,00,61,00,69,00,6c,00,73,00,69,00,67,00,4f,00,\  
  32,00,30,00,31,00,30,00,00,00

[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\Name\9375CFF0413111d3B88A00104B2A6676\00000004]
"clsid"="{ED475411-B0D6-11D2-8C3B-00104B2A6676}"  
"Mini UID"=dword:7c92605d  
DerWoWusste
DerWoWusste 05.05.2012 um 12:19:14 Uhr
Goto Top
Ich poste (falls ich es nicht richtig verstanden habe, noch etwas mehr, wo auch POP3 vorkommt:
"New Signature"=hex:4d,00,61,00,69,00,6c,00,73,00,69,00,67,00,4f,00,32,00,30,\  
  00,31,00,30,00,00,00
"Reply-Forward Signature"=hex:4d,00,61,00,69,00,6c,00,73,00,69,00,67,00,4f,00,\  
  32,00,30,00,31,00,30,00,00,00

[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\name\9375CFF0413111d3B88A00104B2A6676\00000004]
"clsid"="{ED475411-B0D6-11D2-8C3B-00104B2A6676}"  
"Mini UID"=dword:7c92605d  
"Account Name"=hex:61,00,6e,00,61,00,63,00,6f,00,6e,  
"Display Name"=hex:41,00,6c,00,62,00,65,00,72,00,  
"Email"=hex:77,00,65,00,6c,00,66,00,2e,00,61,00,6c,00,62,00,65,00,72,00,74,00,\  
  73,00,40,00,6d,00,74,00,67,00,2d,00,6d,00,61,00,72,00,69,00,6e,00,65,00,74,\
  00,65,00,63,00,68,00,6e,00,69,00,6b
"POP3 Server"=hex:61,00,6e,00,61,00,63,00  
DerWoWusste
DerWoWusste 05.05.2012 um 14:05:16 Uhr
Goto Top
Hab nun einen Weg gefunden, werde ihn später posten. Für elegante bastla- und nicht Bastel-Lösungen bin ich natürlich weiterhin offen.
60730
60730 05.05.2012, aktualisiert am 28.09.2012 um 11:13:45 Uhr
Goto Top
Salve,

Ich würde es so aufdröseln...
>reg query "hkcu\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\"
liefert ja alle Profile
Darunter sind irgendwelche Pop3 Schlüssel/Werte whatever..
incl. !reg exe bla version usw.

for /f "delims= eol=!" %a in ('reg query "hkcu\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\"') do reg query "%a" /s |find /i "pop3" && echo reg delete "%a">>e:\demo.ini

und wenn das gut aussieht, dann ab dafür - wobei ich eher dazu tendieren würde - wenns denn immer das gleiche Konto/email oder Provider ist - den rauszuwerfen unabhängig von Pop

Gruß


edit:
hab mal ein Leherzeichen gebraucht und hier abmontiert
/edit
bastla
bastla 05.05.2012 um 19:14:12 Uhr
Goto Top
Hallo T-Mo!

Guter Ansatz face-smile (wenn dann das Leerzeichen nach dem "NT" weg ist face-wink) ...

Soll nicht tatsächlich "name" und alles unterhalb (aus DWWs Beispiel) entfernt werden, könnte das noch bis zum minimal-invasiven Eingriff hin erweitert werden:
for /f "delims=" %a in ('reg query "hkcu\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\"') do @for /f "delims=" %b in ('reg query "%a\" 2^>nul') do @for /f "delims=" %c in ('reg query "%b\" 2^>nul') do @reg query "%c\" /s 2>nul|findstr /i /c:"POP3 Server">nul && @echo reg delete "%c"
- die Behübschungen mit "@" und "2> nul" wären für ein Logon-Script natürlich entbehrlich ...

Optimierer würden vielleicht zumindest noch Ehrenrunden verhindern:
for /f "delims=" %a in ('reg query "hkcu\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\"') do @if not defined Done for /f "delims=" %b in ('reg query "%a\" 2^>nul') do @if not defined Done for /f "delims=" %c in ('reg query "%b\" 2^>nul') do @if not defined Done reg query "%c\" /s 2>nul|findstr /i /c:"POP3 Server">nul && @(echo reg delete "%c" & set "Done=true")
Grüße
bastla