Passer des paramètres booléens à un script PowerShell à partir d'une invite de commande

Rohan Timalsina 1 avril 2022
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.
Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website

Article connexe - PowerShell Boolean