Introduction
Les opérateurs sont des éléments essentiels en PowerShell, permettant de manipuler et comparer des données de manière efficace. Dans cet article, nous explorerons les différents types d’opérateurs disponibles en PowerShell, en utilisant l’exemple ludique de Marie qui gère son arbre généalogique familial.
Opérateurs arithmétiques
Les opérateurs arithmétiques permettent d’effectuer des calculs mathématiques de base.
Syntaxe et utilisation
- Addition :
+ - Soustraction :
- - Multiplication :
* - Division :
/ - Modulo (reste de division) :
%
Exemples
$ageAncetre = 2023 - 1920
$ageFamilial = 2023 - 1920 + 10Ces opérateurs peuvent être combinés pour des calculs plus complexes :
$ageMoyen = ($agePere + $ageMere + $ageEnfant) / 3Opérateurs de comparaison
Les opérateurs de comparaison permettent de comparer des valeurs et retournent un résultat booléen (vrai ou faux).
Syntaxe et utilisation
Méthode 1 :
- Les plus utilisés
- Égal à :
-eq - Différent de :
-ne - Supérieur à :
-gt - Inférieur à :
-lt - Supérieur ou égal à :
-ge - Inférieur ou égal à :
-le
- Autre possibilité (-c pour Case-Sensitive) ; (-ieq même chose que -eq)
-eq,-ieq,-ceq– equals-ne,-ine,-cne– not equals-gt,-igt,-cgt– greater than-ge,-ige,-cge– greater than or equal-lt,-ilt,-clt– less than-le,-ile,-cle– less than or equal
Méthode 2 :
Exemples
2 -eq 2 # Output: True# Date comparison
[DateTime]'2001-11-12' -lt [DateTime]'2020-08-01' # True
(1 -eq 1) -and (1 -eq 2) # Result is False
-not (1 -eq 1) # Result is False
!(1 -eq 1) # Result is False$estMajeur = ($age -ge 18)
$estMajeurOpérateurs logiques
Les opérateurs logiques permettent de combiner plusieurs conditions.
Syntaxe et utilisation
- ET :
-and - OU :
-or - NON :
-not
Exemple
$a,$b = 6,4
($a -gt $b) -and (($a -lt 20) -or ($b -lt 20))
#TrueOpérateurs de contenance
Ces opérateurs vérifient si un élément est présent dans une collection.
Syntaxe et utilisation
-contains, ,-icontains,-ccontains– collection contient une valeur-notcontains, ,-inotcontains–-cnotcontainscollection ne contient pas de valeur-in– la valeur se trouve dans une collection-notin– la valeur n’est pas dans une collection
Exemples
$fruit = "pomme"
if ($fruit -in @("pomme", "banane", "orange")) {
"C'est un fruit que j'aime"
}
$fruits = @("pomme", "banane", "orange")
if ($fruits -contains "banane") {
"Nous avons des bananes"
}Opérateurs de correspondance

Ces opérateurs permettent de vérifier si une chaîne correspond à un motif.
Syntaxe et utilisation
-like,-ilike–-clikechaîne correspond au modèle générique-notlike, ,-inotlike–-cnotlikechaîne ne correspond pas au modèle générique-match, ,-imatch–-cmatchchaîne correspond au modèle regex-notmatch, ,-inotmatch–-cnotmatchchaîne ne correspond pas au modèle regex
Remplacement
-replace, , –-ireplace-creplaceremplace les chaînes correspondant à un modèle d’expression régulière
Exemples
# Partial match test, showing how differently -match and -like behave
"PowerShell" -match 'shell' # Output: True
"PowerShell" -like 'shell' # Output: False
# Regex syntax test
"PowerShell" -match '^Power\w+' # Output: True
'bag' -notmatch 'b[iou]g' # Output: True"book" -ireplace "B", "C" # Case insensitive
"book" -creplace "B", "C" # Case-sensitive; hence, nothing to replace
"PowerShell" -like "Po?er[p-w]hell" # Output: True
"PowerShell" -notlike "P?wer[p-w]hell" # Output: False
"PowerShell", "Server" -like "*shell" # Output: PowerShell
"PowerShell", "Server" -notlike "*shell" # Output: Server
$a, $b = 10,25
$b -isnot [int] # Output: False
$a -is $b.GetType() # Output: TrueOpérateurs d’affectation
Ces opérateurs permettent d’assigner des valeurs à des variables.
Syntaxe et utilisation
- Affectation simple :
= - Incrémentation :
++ - Décrémentation :
-- - Affectation avec opération :
+=,-=,*=,/=
Exemples
$agePapa++ # Ajoute 1 à l'âge de Papa
$agePapa += 3 # Ajoute 3 à l'âge de Papa
$AgeGrandPapa *= 3 # Multiplie l'âge de Grand-Papa par 3Résumé des opérateurs d’affectation :
| Opérateur | Fonction | Exemple |
|---|---|---|
= | Affectation de valeur. | $variable = 10 |
+= | Addition et réaffectation. | $variable += 5 |
-= | Soustraction et réaffectation. | $variable -= 3 |
*= | Multiplication et réaffectation. | $variable *= 2 |
/= | Division et réaffectation. | $variable /= 4 |
%= | Modulo et réaffectation. | $variable %= 3 |
+= (pour chaîne) | Concatenation de chaînes. | $variable += " ajout" |
? : | Affectation conditionnelle. | $resultat = (condition) ? "true" : "false" |
Opérateurs de redirection
Ces opérateurs permettent de rediriger la sortie des commandes.
Syntaxe et utilisation
- Redirection vers un fichier :
> - Ajout à un fichier :
>> - Redirection des erreurs :
2> - Redirection de tout :
*>
Exemples
$nomFamille > "famille.txt" # Écrit dans un nouveau fichier
$nomFamille >> "famille.txt" # Ajoute à la fin du fichier
Get-Process nonexistentprocess 2> errors.txt # Redirige les erreursConclusion
Les opérateurs en PowerShell offrent une grande flexibilité pour manipuler et analyser des données. En maîtrisant ces opérateurs, Marie peut efficacement gérer et analyser son arbre généalogique, effectuant des calculs d’âge, comparant des dates, filtrant des membres de la famille et organisant ses données de manière efficace.
La pratique régulière et l’expérimentation avec différents scénarios permettront à Marie (et à vous) de devenir plus à l’aise avec ces opérateurs, ouvrant la voie à des scripts PowerShell plus complexes et puissants.
