Find-FileContent #
ÜBERSICHT #
Durchsucht Dateien eines Verzeichnisses rekursiv nach einer Zeichenfolge, basierend auf vordefinierten oder benutzerdefinierten Dateiendungs-Sets.
SYNTAX #
Find-FileContent [-Path] <string> [-SearchText] <string> [[-ExtensionSet] <string>]
[[-IncludeExtensions] <string[]>] [<CommonParameters>]
BESCHREIBUNG #
Diese Funktion durchsucht Dateien innerhalb eines Verzeichnisses rekursiv nach einer angegebenen Zeichenfolge. Dabei werden ausschließlich Dateien berücksichtigt, deren Dateiendungen zu einem ausgewählten Extension-Set gehören.
Es stehen mehrere vordefinierte Extension-Sets zur Verfügung, die typische Anwendungsfälle abdecken, z. B.:
- allgemeine Text- und Konfigurationsdateien
- Web- und IIS-Projekte (HTML, JavaScript, Razor, CSS, Konfiguration)
- PowerShell-Quellcode
- VBScript-Dateien
Das Extension-Set “All” kombiniert automatisch alle vordefinierten Sets zu einer eindeutigen Gesamtliste. Dadurch lassen sich umfassende Suchen durchführen, ohne manuell Dateiendungen pflegen zu müssen.
Mit dem Extension-Set “Manual” kann eine eigene Liste von Dateiendungen angegeben werden. In diesem Fall ist der Parameter IncludeExtensions zwingend erforderlich.
Die Funktion eignet sich insbesondere für:
- Security- und Forensik-Prüfungen
- Suche nach externen Verweisen oder verdächtigen Domains
- Code- und Konfigurationsanalysen
- Audits von Web-, Skript- oder Projektverzeichnissen
Die Suche erfolgt als einfache Textsuche (Contains) ohne reguläre Ausdrücke. Binärdateien werden nicht ausgewertet.
PARAMETER #
-Path #
Type: string
Wurzelverzeichnis, das rekursiv nach Dateien durchsucht wird.
-SearchText #
Type: string
Die zu suchende Zeichenfolge. Die Suche ist nicht regex-basiert und berücksichtigt Groß- und Kleinschreibung gemäß .NET-Standard.
-ExtensionSet #
Type: string
Default: 'Text'
Vordefiniertes Dateiendungs-Set, das bestimmt, welche Dateien in die Suche einbezogen werden.
Zulässige Werte:
- Text : Allgemeine Text-, Konfigurations- und Datendateien
- Iis : Typische Web- und IIS-Dateien (HTML, JS, Razor, CSS, Config)
- PowerShell : PowerShell-Skripte und Moduldateien
- VbScript : VBScript- und VB-Dateien
- All : Vereinigung aller vordefinierten Sets
- Manual : Benutzerdefinierte Dateiendungen
Standardwert ist “Text”.
-IncludeExtensions #
Type: string[]
Benutzerdefinierte Liste von Dateiendungen (z. B. ‘.abc’, ‘.def’). Dieser Parameter wird ausschließlich verwendet, wenn ExtensionSet auf “Manual” gesetzt ist.
.OUTPUTTYPE PSCustomObject
Jedes zurückgegebene Objekt enthält:
- File : Vollständiger Pfad der Datei mit einem Treffer
- Match : Die gesuchte Zeichenfolge
BEISPIELE #
# Suche nach einer Domain in allgemeinen Text- und Konfigurationsdateien
Find-FileContent -Path 'C:\data' -SearchText 'example.com'
# Security-Prüfung einer nopCommerce-Website auf externe Verweise
Find-FileContent `
-Path 'C:\inetpub\wwwroot\mustermann' `
-SearchText 'eulanda' `
-ExtensionSet Iis
# Umfassende Suche über alle bekannten Dateitypen
Find-FileContent `
-Path 'C:\inetpub\wwwroot\mustermann' `
-SearchText 'turbopages' `
-ExtensionSet All
# Analyse eines PowerShell-Moduls nach bestimmten Cmdlets
Find-FileContent `
-Path 'C:\temp\EulandaXTools' `
-SearchText 'Invoke-Sqlcmd' `
-ExtensionSet PowerShell
# Benutzerdefinierte Suche mit eigener Extension-Liste
Find-FileContent `
-Path 'C:\custom' `
-SearchText 'foo' `
-ExtensionSet Manual `
-IncludeExtensions '*.abc','*.def'