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 + 10
Ces opérateurs peuvent être combinés pour des calculs plus complexes :
$ageMoyen = ($agePere + $ageMere + $ageEnfant) / 3
Opé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)
$estMajeur

Opé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))
#True
Opé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
–-cnotcontains
collection 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
–-clike
chaîne correspond au modèle générique-notlike
, ,-inotlike
–-cnotlike
chaîne ne correspond pas au modèle générique-match
, ,-imatch
–-cmatch
chaîne correspond au modèle regex-notmatch
, ,-inotmatch
–-cnotmatch
chaîne ne correspond pas au modèle regex
Remplacement
-replace
, , –-ireplace
-creplace
remplace 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: True
Opé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 3
Ré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 erreurs
Conclusion
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.
