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