Passer des paramètres booléens à un script PowerShell à partir d'une invite de commande
Un script PowerShell est un ensemble de commandes enregistrées dans un fichier texte avec l’extension .ps1
. PowerShell exécute ces commandes dans l’ordre pour effectuer différentes actions. Vous pouvez définir des paramètres dans PowerShell à l’aide de l’instruction param
.
Voici un exemple de script PowerShell simple, myscript.ps1
, qui prend la valeur comme entrée de l’utilisateur.
param($a,$b)
if($a -lt $b){
Write-Host "$a is less than $b"
}
else{
Write-Host "$a is not less than $b"
}
Vous pouvez utiliser la commande ci-dessous pour transmettre des valeurs et exécuter le script ci-dessus à partir d’une invite de commande.
powershell.exe -NoProfile -Command .\myscript.ps1 -a 4 -b 5
Production :
4 is less than 5
Comme vous pouvez le constater, nous avons pu transmettre des valeurs à un script PowerShell à partir d’une invite de commande. Nous allons vous apprendre à passer des valeurs booléennes
à un script PowerShell depuis une invite de commande. Une valeur booléenne peut être soit TRUE
soit FALSE
.
Utiliser le paramètre booléen pour transmettre des valeurs booléennes à un script PowerShell à partir d’une invite de commande
Vous pouvez définir le type de données de votre paramètre sur [bool]
pour transmettre des valeurs booléennes à un script PowerShell à partir d’une invite de commande.
param([int]$a, [bool]$b)
switch($b){
$true {"It is true."}
$false {"It is false."}
}
Les paramètres booléens n’acceptent que des valeurs booléennes et des nombres, tels que $True
, $False
, 1
ou 0
.
powershell.exe -NoProfile -Command .\myscript.ps1 -a 1 -b $True
Production :
It is true.
Essayez la valeur False
:
powershell.exe -NoProfile -Command .\myscript.ps1 -a 5 -b 0
Production :
It is false.
Utilisez le paramètre switch
pour transmettre des valeurs booléennes à un script PowerShell à partir d’une invite de commande
Un paramètre switch
dans PowerShell ne prend pas de valeur. Mais, il est de nature booléenne
et véhicule une valeur booléenne true
ou false
par sa présence ou son absence. Ainsi, lorsqu’un paramètre de commutateur est présent, il a une valeur réelle. Et lorsqu’un paramètre switch est absent, il a une valeur fausse. Les paramètres switch
sont faciles à utiliser et sont préférés aux paramètres Boolean
, dont la syntaxe PowerShell est moins naturelle.
param ([int] $a, [switch] $b)
switch($b){
$true {"The value is $b."}
$false {"The value is $b."}
}
Lorsque le paramètre switch est présent :
powershell.exe -NoProfile -Command .\myscript2.ps1 -a 5 -b 1
Production :
The value is True.
Lorsque le paramètre switch est absent :
powershell.exe -NoProfile -Command .\myscript2.ps1 -a 5
Production :
The value is False.