param( [ValidateSet("bootstrap", "up", "redeploy", "proxy-reload", "down", "logs", "reset", "reset-hard", "reset-origin")] [string]$Action = "bootstrap", [string]$Distro = "" ) if (-not (Get-Command wsl.exe -ErrorAction SilentlyContinue)) { Write-Error "WSL wurde nicht gefunden. Bitte WSL installieren und konfigurieren." exit 1 } $repoWinPath = (Resolve-Path (Join-Path $PSScriptRoot "..")).Path $repoWslPath = (& wsl.exe wslpath -a "$repoWinPath").Trim() if (-not $repoWslPath) { Write-Error "Konnte den WSL Pfad fuer das Repo nicht ermitteln." exit 1 } $linuxCommand = "./scripts/lab.sh $Action" $wslArgs = @() if ($Distro) { $wslArgs += "-d" $wslArgs += $Distro } $wslArgs += "-e" $wslArgs += "bash" $wslArgs += "-lc" $wslArgs += "cd '$repoWslPath' && $linuxCommand" Write-Host "[info] Running in WSL: $linuxCommand" & wsl.exe @wslArgs exit $LASTEXITCODE