<# .SYNOPSIS Exemple de script PowerShell de démonstration. .DESCRIPTION Ce script montre comment : - Définir des variables - Lire des entrées utilisateur - Utiliser des conditions et des boucles - Écrire dans un fichier de log - Gérer des erreurs .AUTHOR Bruno Charest #> # ======================= # ⚙️ Variables de base # ======================= $UserName = $env:USERNAME $DateNow = Get-Date -Format "yyyy-MM-dd HH:mm:ss" $LogFile = "C:\Logs\ExampleScript.log" # Crée le répertoire de logs si nécessaire if (!(Test-Path (Split-Path $LogFile))) { New-Item -Path (Split-Path $LogFile) -ItemType Directory -Force | Out-Null } # ======================= # 📝 Fonction pour journaliser les événements # ======================= function Write-Log { param ( [string]$Message, [string]$Level = "INFO" ) $LogEntry = "$((Get-Date).ToString('yyyy-MM-dd HH:mm:ss')) [$Level] $Message" Add-Content -Path $LogFile -Value $LogEntry Write-Host $LogEntry } Write-Log "Script démarré par $UserName" # ======================= # 👋 Interaction utilisateur # ======================= $name = Read-Host "Quel est ton prénom" Write-Log "Nom entré : $name" # ======================= # 🔁 Exemple de boucle # ======================= for ($i = 1; $i -le 5; $i++) { Write-Host "Itération $i" Start-Sleep -Milliseconds 500 } # ======================= # ⚠️ Exemple de gestion d'erreur # ======================= try { # Exemple : tentative de suppression d’un fichier inexistant Remove-Item "C:\FichierInexistant.txt" -ErrorAction Stop } catch { Write-Log "Erreur détectée : $($_.Exception.Message)" "ERROR" } # ======================= # ✅ Fin du script # ======================= Write-Log "Script terminé avec succès." Write-Host "`n✅ Exécution terminée avec succès."