functions/Find-InstalledModulePath.ps1
function Find-InstalledModulePath { <# .SYNOPSIS Durchsucht die PowerShell-Modulpfade nach einem bestimmten Modul und gibt gefundene Ordner und Manifestdateien aus. .DESCRIPTION Die Funktion `Find-InstalledModulePath` analysiert alle Einträge im Umgebungsvariable `PSModulePath`, durchsucht sie rekursiv nach einem Modulordner oder einer `.psd1`-Manifestdatei mit dem angegebenen Modulnamen und gibt die Ergebnisse farblich hervorgehoben in der Konsole aus. .PARAMETER ModuleName Der Name des zu suchenden Moduls. Sowohl Ordnernamen als auch Manifestdateien mit exakt diesem Namen (ohne Version) werden berücksichtigt. .EXAMPLE Find-InstalledModulePath -ModuleName "BcHelper" Durchsucht alle Modulpfade nach dem Modul "BcHelper" und zeigt gefundene Ordner und `.psd1`-Dateien an. .NOTES Diese Funktion gibt lediglich Ausgaben in die Konsole aus und liefert keinen Rückgabewert zurück. Sie dient primär zu Diagnosezwecken beim Troubleshooting oder bei der Modulverwaltung. #> [CmdletBinding()] param ( [Parameter(Mandatory)] [string]$ModuleName ) $modulePaths = $env:PSModulePath -split ';' Write-Host "Suche nach Modul '$ModuleName' in den Standard-Modulpfaden..." -ForegroundColor Cyan foreach ($path in $modulePaths) { # Suche nach Ordnern mit dem Modulnamen $folders = Get-ChildItem -Path $path -Recurse -Directory -ErrorAction SilentlyContinue | Where-Object { $_.Name -ieq $ModuleName } foreach ($folder in $folders) { Write-Host "✅ Modul-Ordner gefunden: $($folder.FullName)" -ForegroundColor Green } # Suche nach Manifestdateien (.psd1) $manifests = Get-ChildItem -Path $path -Recurse -Include "$ModuleName.psd1" -ErrorAction SilentlyContinue foreach ($manifest in $manifests) { Write-Host "📄 Modul-Manifest gefunden: $($manifest.FullName)" -ForegroundColor Yellow } } Write-Host "🔍 Suche beendet." -ForegroundColor Cyan } |