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-Key: 184495

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

Printed on: April 19, 2024 at 11:04 o'clock

Mitglied: 106009
106009 May 04, 2012 at 15:59:31 (UTC)
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ß
Member: DerWoWusste
DerWoWusste May 04, 2012 at 16:47:14 (UTC)
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.
Mitglied: 106009
106009 May 04, 2012 at 16:51:54 (UTC)
Goto Top
Ich verstehe nur Bahnhof. Welchen Text fügst du ein? Die Ausgabe von REG QUERY?
Member: bastla
bastla May 04, 2012 at 16:55:14 (UTC)
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
Mitglied: 60730
60730 May 04, 2012, updated at Oct 18, 2012 at 16:50:48 (UTC)
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
Member: Skyemugen
Skyemugen May 04, 2012 at 19:08:20 (UTC)
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]
Member: DerWoWusste
DerWoWusste May 05, 2012 at 09:40:45 (UTC)
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?
Member: bastla
bastla May 05, 2012 at 10:06:15 (UTC)
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
Member: DerWoWusste
DerWoWusste May 05, 2012 at 10:15:13 (UTC)
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  
Member: DerWoWusste
DerWoWusste May 05, 2012 at 10:19:14 (UTC)
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  
Member: DerWoWusste
DerWoWusste May 05, 2012 at 12:05:16 (UTC)
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.
Mitglied: 60730
60730 May 05, 2012, updated at Sep 28, 2012 at 09:13:45 (UTC)
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
Member: bastla
bastla May 05, 2012 at 17:14:12 (UTC)
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