Parser für Snaffler-Ausgabedateien
Gerade in großen Umgebungen wird die Snaffler-Ausgabe sehr umfangreich und die Analyse zeitaufwendig.
Dieses Skript parst die Snaffler-Ausgabedatei (TSV-Format erforderlich) und:
- Formatiert Ergebnisse in lesbare Tabellen und exportiert sie nach TXT, CSV, HTML, JSON oder in eine PS-Gridview.
- Erzeugt einen interaktiven HTML-Bericht mit:
- Filterung (Schweregrad, Erweiterung, Änderungsjahr) und Volltextsuche
- Dynamischer Sortierung
- Schlüsselwort-Hervorhebung im Vorschautext
- Direkten Aktionen (übergeordneten Ordner öffnen, Datei herunterladen, UNC kopieren, übergeordnete UNC kopieren)
- Review-Workflow mit gespeichertem Zustand:
- ★ markiert (interessant)
- ✓ erledigt (geprüft)
- Optionalem Unescape-Modus für bessere Lesbarkeit der Vorschau (experimentell)
- Seitennummerierung für sehr große Datensätze
- Spaltenauswahl (pro Bericht gespeichert)
- Export der aktuell gefilterten Ansicht nach CSV
- Snaffler-Job-Metadaten (Start/Ende/Host/Benutzer/Zeitstempel ...)
- Sortiert die Ausgabe nach Schweregrad (Black/Red/Yellow/Green) und anschließend nach Änderungsdatum (Standard) oder einem anderen Feld
- Exportiert alle gefundenen Freigaben in eine Textdatei
- Kann zugängliche Freigaben als Explorer++-Lesezeichen exportieren
Beispiele
Parsen der Ausgabedatei:

HTML-Ausgabe:

TXT-Ausgabe:

Voraussetzungen und Verwendung
Snaffler muss mit dem Schalter -y ausgeführt werden, um eine Ausgabedatei im TSV-Format zu erstellen.
Beispiel:
.\Snaffler.exe -o snafflerout.txt -s -y
Einfaches Parsen
Parst die Datei my_snaffler_output.txt und schreibt die Ausgabe mit Standard-Sortierung (Schweregrad, Änderungsdatum) und Standard-Ausgabedateien (TXT, CSV, HTML).
.\snafflerparser.ps1 -in my_snaffler_output.txt
Ausgabeoptionen
Die verschiedenen Datei-Ausgabeoptionen sind:
-outformat all Schreibt txt, csv, html und json (Standard)
-outformat txt Schreibt txt
-outformat csv Schreibt csv
-outformat html Schreibt html
-outformat json Schreibt json
Diese Dateien können mithilfe des Schalters -split nach Schweregrad (black, red, yellow, green) aufgeteilt werden.
Zusätzlich kann eine PS-Gridview-Ausgabe mit ``-gridview` angezeigt werden.
HTML-Bericht
Funktionen
- Seitennummerierung für große Berichte
- Volltextsuche (UNC / Regel / Schlüsselwort / Inhalt) mit Hervorhebung
- Filter:
- Schweregrad (Black / Red / Yellow / Green)
- Änderungsjahr
- Dateierweiterung (mit Erweiterungssuche)
- Statusfilter: nur ★ markiert / ✓ erledigt ausblenden
- Sortierung durch Klicken auf Tabellenüberschriften (die Schweregrad-Gruppierung bleibt erhalten, außer Sie wechseln zur globalen Sortierung)
- Schlüsselwort-Hervorhebung im Vorschauinhalt
- Aktionen pro Zeile:
- Vollständigen UNC-Pfad kopieren
- Übergeordneten UNC-Pfad kopieren
- Übergeordneten Ordner öffnen (
file://)
- Datei herunterladen (
file://)
- Spaltenauswahl (pro Bericht gespeichert)
- Export der aktuell gefilterten Ansicht nach CSV
- Kopfzeile mit Berichts-Metadaten + „Job Info“-Dialog (Eingabedatei, Host/Benutzer, Hash, Zeitstempel, Dauern)
- Umschalter Dunkelmodus / Hellmodus
Review-Workflow (★ / ✓)
Zwei Kontrollkästchen unterstützen einen schnellen Prüfprozess:
- ★ (markiert): interessante Dateien zur erneuten Prüfung markieren
- ✓ (erledigt): geprüfte Dateien markieren
Tastaturnavigation:
- Verwenden Sie W/S oder ↑/↓, um sich in der Kontrollkästchen-Spalte nach oben/unten zu bewegen
- Verwenden Sie A/D oder ←/→, um zwischen ★ und ✓ zu wechseln
- Drücken Sie Leertaste, um das fokussierte Kontrollkästchen umzuschalten
- Tastenkürzel:
1 schaltet ★ um
2 schaltet ✓ um
Filterhilfen:
- „Nur ★ anzeigen“, um sich auf markierte Elemente zu konzentrieren
- „✓ erledigt ausblenden“, um geprüfte Elemente aus der Ansicht zu entfernen
Persistenz: Der Zustand der Kontrollkästchen wird für diesen Bericht im localStorage Ihres Browsers gespeichert.
Zur dauerhaften Speicherung der aktuellen Markierungen klicken Sie im Bericht auf Save HTML (lädt eine Kopie mit eingebettetem Zustand herunter).
Unescaping des Vorschautexts (experimentell)
Snaffler escapet Zeilenumbrüche und andere Zeichen im Vorschauinhalt, um sie im Terminal darzustellen.
Der HTML-Bericht enthält einen Unescape-Umschalter, der häufige Escape-Sequenzen (wie \n, \r\n, \t) in lesbare Formatierungen umwandelt.
Beispiel:

Hinweis: Das Unescaping kann auch Zeichenfolgen verändern, die ursprünglich nicht von Snaffler escapet wurden. Behandeln Sie es als Lesbarkeitshilfe.
Sortierung
Die Ausgabe wird immer nach Schweregrad gruppiert (Black → Red → Yellow → Green).
Innerhalb jeder Gruppe kann nach folgenden Kriterien sortiert werden:
-sort modified Änderungsdatum der Datei (Standard)
-sort keyword Snaffler-Schlüsselwort
-sort unc UNC-Pfad der Datei
-sort rule Snaffler-Regelname
Explorer++-Integration
Explorer++ ist ein leichtgewichtiger alternativer Datei-Explorer für Windows, der die Ausführung in einem anderen Benutzerkontext unterstützt, einschließlich des /netonly-Schalters. Dies ist besonders bei Assessments nützlich, wenn die Workstation oder VM nicht in die Domäne eingebunden ist.
Was SnafflerParser tut
Bei Verwendung des Schalters -pte integriert sich SnafflerParser direkt in Explorer++, indem es dessen config.xml-Datei verwaltet:
- Erzeugt
config.xml, falls sie nicht existiert (portabler Modus)
- Stellt sicher, dass die Lesezeichen-Symbolleiste aktiviert ist
- Entfernt zuvor erzeugte Lesezeichen
- Erstellt pro Host einen Lesezeichen-Ordner
- Fügt alle zugänglichen Freigaben als Lesezeichen unter dem jeweiligen Host hinzu
- Ermöglicht schnelle Navigation zu Freigaben ohne wiederholte Authentifizierungsaufforderungen
Verwendung
-
Laden Sie Explorer++ herunter von
https://github.com/derceg/explorerplusplus
-
Platzieren Sie Explorer++.exe im selben Verzeichnis wie snafflerParser.ps1
-
Parsen Sie die Snaffler-Ausgabe und exportieren Sie Freigaben nach Explorer++:
.\snafflerParser.ps1 -in snafflerout.txt -pte
-
Starten Sie Explorer++ in einem anderen Benutzerkontext:
runas /user:DOMAIN\user /netonly Explorer++.exe
-
Verwenden Sie die Lesezeichen-Symbolleiste, um schnell zu den gefundenen Freigaben zu navigieren.

Warum das nützlich ist:
- Keine separate Authentifizierung für jede Freigabe erforderlich
- Funktioniert gut von Systemen, die nicht in die Domäne eingebunden sind
Changelog
2026-05-26
Behoben
- Die Inhaltsspalte ist beim Parsen der Ausgabe neuerer Snaffler-Versionen (>=1.0.244) nicht mehr leer. Neuere Snaffler-Versionen fügen vor der Inhaltsspalte ein Feld mit dem ursprünglichen Dateinamen hinzu (für SCCM
Inhaltsbibliotheksdateien). Der Parser verarbeitet nun sowohl das alte (13-spaltige) als auch das neue (14-spaltige) Format transparent.
- Stürzt nicht mehr ab, wenn die Ausgabe eines unterbrochenen Snaffler-Jobs geparst wird (fehlender Endzeitstempel / fehlende Dauer).
2026-01-04
Verbessert
- Schnelleres Parsen, Verarbeiten und Erzeugen von Berichten (insgesamt etwa 50 % schneller)
- Reduzierte HTML-Berichtsgröße (insgesamt etwa 60 % kleiner)
- Explorer++-Integration:
Config.xml wird erzeugt, falls sie nicht existiert. Die Lesezeichen-Symbolleiste wird aktiviert, falls sie deaktiviert ist.
- Überarbeitung des HTML-Berichts
- Seitennummerierung für große Berichte (große Leistungsverbesserung bei Berichten mit >100k Dateien)
- Zusätzliche Filter: Änderungsdatum (jahresbasierte Filterung)
- Verbesserte Filterung nach Dateierweiterung
- Umschalter für Dunkelmodus/Hellmodus direkt im Bericht
- Korrekter Zeilenumbruch für lange UNC-Pfade
- Export gefilterter Ergebnisse nach CSV
- Dauerhaft gespeicherte markierte (★) und geprüfte (✓) Zustände mithilfe des lokalen Speichers
- Spalten können ein-/ausgeblendet werden (Einstellungen werden pro Bericht gespeichert)
- Volltextsuche mit Schlüsselwort-Hervorhebung
- Verbessertes und kompakteres Filter-Layout
- Aktionsleiste mit zusätzlichen Funktionen (vollständigen UNC-Pfad kopieren / Pfad des übergeordneten Ordners kopieren)
- Kopfzeile mit Berichts-Metadaten und Info-Dialog
- Schaltfläche zum Unescapen von Inhalten (experimentell)
Behoben
- Prüfungen für ungültige UNC-Pfade hinzugefügt (behebt Issue #5)
- Die Seitennummerierung sollte Issue #4 beheben
Entfernt
- Parameter
-lightmode entfernt.
- Parameter
-unescape entfernt.
2025-01-25
Verbessert
- Leicht verbesserte Leistung
- Statusmeldungen angepasst
2025-01-21
Neu
- Benutzerdefinierte Kontrollkästchen zur Unterstützung des Prüfprozesses (Feature-Request #3)
- Experimentelle Unescape-Funktion
- Dunkelmodus
Verbessert
- Allgemeine Verbesserungen am HTML-Bericht
2025-01-17
Behoben
- Issue #2: Behoben: Leerzeichen führten zu Umbrüchen in den Öffnen- oder Download-Links