3. Créez vos premières fonctions réutilisables
- Comprendre la structure d’une fonction PowerShell
- Factoriser du code (réutilisation)
- Passer des paramètres
- Introduire la notion de module (bibliothèque de fonctions)
Créer une fonction : 2 syntaxes possibles
En PowerShell, une fonction est un bloc de code réutilisable. Elle peut recevoir des paramètres
et retourner un résultat (en émettant une valeur sur la sortie ou via return).
Syntaxe 1 : paramètres dans la signature
Exemple : function Nom($param){ ... }
Syntaxe 2 : bloc param() dans le corps
Exemple : function Nom { param($param) ... }
Explication de chaque élément
1) Mot-clé : function
Indique à PowerShell que l’on définit une fonction (un bloc réutilisable).
function ... { ... }2) Nom de la fonction
Suivez la convention Verbe-Nom (ex : Get-, Set-, Test-).
Cela rend le code plus clair et compatible avec l’esprit des cmdlets PowerShell.
function Get-Greeting { ... }3) Paramètres
Les paramètres sont les “entrées” de la fonction. Ils permettent de rendre la fonction réutilisable.
# Syntaxe 1
function Get-Greeting($Name) { ... }
# Syntaxe 2
function Get-Greeting {
param([string]$Name)
...
}4) Corps de la fonction
Entre les accolades { }, on place le code exécuté quand on appelle la fonction.
{
# instructions
}5) Sortie / résultat
Une fonction peut “retourner” un résultat de deux façons :
- en émettant une valeur (ex : une chaîne, un nombre) sur la sortie
- avec
return(souvent utilisé pour terminer plus tôt)
"Bonjour" # sortie
return "OK" # sortie + fin immédiate6) Appel de la fonction
On appelle une fonction par son nom, avec ou sans paramètres.
En PowerShell, on privilégie la forme nommée : -Name, -Path, etc.
Get-Greeting -Name "Alice"Exemple simple : une fonction de salutation
Exemple volontairement simple pour débuter : on passe un prénom et la fonction renvoie une phrase.
Version avec paramètres dans la signature
function Get-Greeting($Name) {
"Bonjour $Name"
}
Get-Greeting "Alice"
Get-Greeting "Jean"
Ici, on passe le paramètre sans nom (positionnel). C’est pratique mais moins explicite.
Version recommandée (bloc param())
function Get-Greeting {
param(
[Parameter(Mandatory=$true)]
[string]$Name
)
"Bonjour $Name"
}
Get-Greeting -Name "Alice"
Get-Greeting -Name "Jean"
On force le paramètre et on rend l’appel plus lisible (forme nommée).
-Name,
PowerShell demande la valeur, et le script reste fiable.
Notion “module” (introduction)
Une fonction est un bloc réutilisable. Plusieurs fonctions regroupées dans un même fichier (.ps1 ou .psm1)
peuvent constituer une bibliothèque interne (module) que vous réutilisez sur plusieurs scripts.
Exercice — Créer une fonction simple et l’utiliser
Objectif : créer une fonction qui calcule le carré d’un nombre. C’est un exercice court, idéal pour valider : paramètres + appel + résultat.
- Créez une fonction
Get-Squarequi prend un nombre-Number(obligatoire). - La fonction doit renvoyer
Number * Number. - Testez avec 2 valeurs : 5 puis 12.
Indice
Utilisez [int]$Number et renvoyez le résultat en fin de fonction.
Corrigé (à ouvrir après avoir essayé)
function Get-Square {
param(
[Parameter(Mandatory=$true)]
[int]$Number
)
$Number * $Number
}
Get-Square -Number 5
Get-Square -Number 12
$Number * $Number).