# 🧹 MYP - Manage your Printer (Hauptbereinigungsskript) # Weiterleitung an das optimierte Infrastructure-Bereinigungsskript param( [switch]$Force, [switch]$Help, [switch]$All ) # Farbdefinitionen für bessere Ausgabe $Colors = @{ Info = "Cyan" Success = "Green" Warning = "Yellow" Error = "Red" Header = "Magenta" } function Write-ColorOutput { param([string]$Message, [string]$Color = "White") Write-Host $Message -ForegroundColor $Colors[$Color] } # Header anzeigen Write-ColorOutput "🧹 MYP - Manage your Printer (Bereinigung)" "Header" Write-ColorOutput "═══════════════════════════════════════════" "Header" # Hilfe anzeigen if ($Help) { Write-ColorOutput "`n📖 Verwendung:" "Info" Write-ColorOutput " .\cleanup.ps1 [Optionen]" "White" Write-ColorOutput "`n⚙️ Optionen:" "Info" Write-ColorOutput " -Force - Bereinigung ohne Bestätigung durchführen" "White" Write-ColorOutput " -All - Vollständige Bereinigung (inkl. Volumes)" "White" Write-ColorOutput " -Help - Diese Hilfe anzeigen" "White" Write-ColorOutput "`n📚 Beispiele:" "Info" Write-ColorOutput " .\cleanup.ps1 # Interaktive Bereinigung" "White" Write-ColorOutput " .\cleanup.ps1 -Force # Automatische Bereinigung" "White" Write-ColorOutput " .\cleanup.ps1 -All -Force # Vollständige Bereinigung" "White" exit 0 } # Prüfe ob Infrastructure-Skript existiert $InfraScript = ".\infrastructure\scripts\cleanup.ps1" if (-not (Test-Path $InfraScript)) { Write-ColorOutput "`n❌ Infrastructure-Bereinigungsskript nicht gefunden: $InfraScript" "Error" Write-ColorOutput " Bitte stellen Sie sicher, dass die Projektstruktur vollständig ist." "Error" exit 1 } # Parameter für Infrastructure-Skript vorbereiten $InfraParams = @() if ($Force) { $InfraParams += "-Force" } if ($All) { $InfraParams += "-All" } # Weiterleitung an Infrastructure-Skript Write-ColorOutput "`n🔄 Weiterleitung an Infrastructure-Bereinigungsskript..." "Info" try { if ($InfraParams.Count -gt 0) { & $InfraScript @InfraParams } else { & $InfraScript } $ExitCode = $LASTEXITCODE if ($ExitCode -eq 0) { Write-ColorOutput "`n🎉 Bereinigung erfolgreich abgeschlossen!" "Success" } else { Write-ColorOutput "`n❌ Bereinigung fehlgeschlagen (Exit Code: $ExitCode)" "Error" } exit $ExitCode } catch { Write-ColorOutput "`n💥 Unerwarteter Fehler bei der Bereinigung:" "Error" Write-ColorOutput " $($_.Exception.Message)" "Error" exit 1 }