# --- Paramètres personnalisables --- $repoName = "REPONAME" # Remplace par le nom du dépôt SVN $apiKey = "TOKEN" # Clé API $hostUrl = "https://localhost:8445" # URL de base de l'API # --- Construction de l'URL complète avec paramètre GET --- $apiUrl = "$hostUrl/action/getperm?repo=$([uri]::EscapeDataString($repoName))" # --- Ignorer les erreurs SSL (certificat auto-signé) --- Add-Type @" using System.Net; using System.Security.Cryptography.X509Certificates; public class TrustAllCertsPolicy : ICertificatePolicy { public bool CheckValidationResult( ServicePoint srvPoint, X509Certificate certificate, WebRequest request, int certificateProblem) { return true; } } "@ [System.Net.ServicePointManager]::CertificatePolicy = New-Object TrustAllCertsPolicy # --- Appel de l'API --- try { $headers = @{ "x-api-key" = $apiKey } # Envoi de la requête GET $response = Invoke-RestMethod -Uri $apiUrl -Method Get -Headers $headers # Affichage formaté de la réponse Write-Host "`n--- Utilisateurs et Permissions pour '$repoName' ---" for ($i = 0; $i -lt $response.users.Count; $i++) { Write-Host "$($response.users[$i]) => $($response.permissions[$i])" } Write-Host "`nTotal: $($response.count) utilisateur(s)" } catch { Write-Error "Erreur lors de l'appel à l'API : $($_.Exception.Message)" }