🔹 Déclaration de variables
$age = 25
$nom = "Gautier"
$estConnecte = $true
$pi = 3.14
$ville = "Angers" # typage dynamique
🔹 Structures de contrôle
Condition
if ($age -gt 18) {
Write-Output "Majeur"
}
else {
Write-Output "Mineur"
}
Switch
switch ($jour) {
"lundi" { Write-Output "Début de semaine" }
default { Write-Output "Autre jour" }
}
Boucles
# for
for ($i = 0; $i -lt 5; $i++) {
Write-Output $i
}
# while
$i = 0
while ($i -lt 5) {
Write-Output $i
$i++
}
# foreach
$fruits = @("pomme", "banane", "orange")
foreach ($fruit in $fruits) {
Write-Output $fruit
}
🔹 Fonctions
function Dire-Bonjour {
param($nom)
Write-Output "Bonjour $nom"
}
function Addition {
param(
[int]$a,
[int]$b
)
return ($a + $b)
}
🔹 Objets & Classes
class Personne {
[string]$Nom
[int]$Age
[void]SePresenter() {
Write-Output "Je m'appelle $($this.Nom) et j'ai $($this.Age) ans."
}
}
# Utilisation
$p = [Personne]::new()
$p.Nom = "Gautier"
$p.Age = 26
$p.SePresenter()
🔹 Listes et Tableaux
# Tableau
$notes = @(10, 15, 20)
# Liste dynamique (ArrayList)
$couleurs = New-Object System.Collections.ArrayList
$couleurs.Add("Rouge") | Out-Null
$couleurs.Add("Bleu") | Out-Null
🔹 Null safety
$nom = $null
if ($null -ne $nom) {
Write-Output $nom.Length
}
🔹 Try / Catch (gestion d’erreurs)
try {
[int]::Parse("abc")
}
catch {
Write-Output "Erreur : $($_.Exception.Message)"
}
🔹 Script PowerShell (structure minimale)
Write-Output "Hello World!"
# Paramètres possibles
param(
[string]$Utilisateur,
[switch]$VerboseMode
)
Write-Output "Utilisateur : $Utilisateur"