Find File Content
Zuletzt geändert: 14.03.2026 05:56

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'