RUBRIQUE
about_Script_Blocks
DESCRIPTION COURTE
Définit un bloc de script et explique comment utiliser des blocs
de script en langage de programmation Windows PowerShell.
DESCRIPTION LONGUE
En langage de programmation Windows PowerShell, un bloc de script
est une collection d'instructions ou expressions qui peuvent être
utilisées comme une unité unique. Un bloc de script peut accepter
des arguments et retourner des valeurs.
Sur le plan de la syntaxe, un bloc de script est une liste
d'instructions entre accolades, comme illustré dans la syntaxe
suivante :
{<liste d'instructions>}
Un bloc de script retourne la sortie de toutes les commandes dans
le bloc de script, sous la forme d'un objet unique ou d'un tableau.
Comme les fonctions, un bloc de script peut inclure des
paramètres. Utilisez le mot clé Param pour attribuer des
paramètres nommés, comme illustré dans la syntaxe suivante :
{
param ([type]$parameter1 [,[type]$parameter2])
<liste d'instructions>
}
Dans un bloc de script, contrairement à une fonction, vous ne
pouvez pas spécifier de paramètres à l'extérieur des accolades.
Comme les fonctions, les blocs de script peuvent inclure les mots clés
DynamicParam, Begin, Process et End. Pour plus d'informations, consultez
about_Functions et about_Functions_Advanced.
Utilisation de blocs de script
Un bloc de script est une instance d'un type Microsoft .NET
Framework (System.Management.Automation.ScriptBlock). Les commandes
peuvent avoir des valeurs de paramètre de bloc de script. Par
exemple, l'applet de commande Invoke-Command a un paramètre
ScriptBlock qui prend une valeur de bloc de script, comme
illustré dans cet exemple :
C:\PS> invoke-command -scriptblock { get-process }
Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
------- ------ ----- ----- ----- ------ -- -----------
999 28 39100 45020 262 15.88 1844 communicator
721 28 32696 36536 222 20.84 4028 explorer
. . .
Le bloc de script qui est utilisé comme valeur peut être plus
complexe, comme illustré dans l'exemple suivant :
C:\PS> invoke-command -scriptblock { param ($uu = "Paramètre");
"$uu attribué." }
Paramètre attribué.
Le bloc de script dans l'exemple précédent utilise le mot clé
Param pour créer un paramètre qui a une valeur par défaut.
L'exemple suivant utilise le paramètre Args de l'applet de commande
Invoke-Command pour attribuer une valeur différente au paramètre :
C:\PS> invoke-command -scriptblock {param ($uu = "Paramètre");
"$uu attribué."} -args "Autre valeur"
Autre valeur attribuée.
Vous pouvez attribuer un bloc de script à une variable, comme
illustré dans l'exemple suivant :
C:\PS> $a = {param ($uu = "Paramètre"); "$uu attribué."}
Vous pouvez utiliser la variable avec une applet de commande,
par exemple Invoke-Command, comme illustré dans l'exemple suivant :
C:\PS> invoke-command -scriptblock $a -args "Autre valeur"
Autre valeur attribuée.
Vous pouvez exécuter un bloc de script attribué à une variable
à l'aide de l'opérateur d'appel (&), comme illustré dans l'exemple
suivant :
C:\PS> &$a
Paramètre attribué.
Vous pouvez également fournir un paramètre au bloc de script, comme
illustré dans l'exemple suivant :
C:\PS> &$a "Autre valeur"
Autre valeur attribuée.
Si vous souhaitez attribuer la valeur créée par un bloc de
script à une variable, utilisez l'opérateur d'appel pour
exécuter le bloc de script directement, comme illustré dans
l'exemple suivant :
C:\PS> $a = &{param ($uu = "Paramètre"); "$uu attribué."}
C:\PS> $a
Paramètre attribué.
Pour plus d'informations sur l'opérateur d'appel, consultez
about_Operators.
VOIR AUSSI
about_Functions
about_Functions_Advanced
about_Operators