À propos des variables
- 09/11/2020
- 9 minutes de lecture
-
- S
- s
- q
Brève description
Décrit comment les variables stockent les valeurs qui peuvent être utilisées dans PowerShell.
Description longue
Vous pouvez stocker tous les types de valeurs dans des variables PowerShell. Par exemple, stockez les résultats des commandes et stockez les éléments utilisés dans les commandes et les expressions, tels que les noms, les chemins, les paramètres et les valeurs.
Une variable est une unité de mémoire dans laquelle les valeurs sont stockées. Dans PowerShell, les variables sont représentées par des chaînes de texte commençant par un signe dollar ($
), telles que $a
, $process
, ou $my_var
.
Les noms de variables ne sont pas sensibles à la casse et peuvent inclure des espaces et des caractères spéciaux. Mais, les noms de variables qui inclure des caractères spéciaux et des espaces sont difficiles à utiliser et doivent être évités. Pour plus d’informations, voir Noms de variables contenant des caractères spéciaux.
Il existe plusieurs types de variables dans PowerShell.
-
Variables créées par l’utilisateur: les variables créées par l’utilisateur sont créées et gérées par l’utilisateur. Par défaut, les variables que vous créez dans la ligne de commande PowerShell n’existent que lorsque la fenêtre PowerShell est ouverte. Lorsque la fenêtre PowerShell est fermée, les variables sont supprimée. Pour enregistrer une variable, ajoutez-la à votre profil PowerShell. Vous pouvez également créer des variables dans des scripts avec une portée globale, script ou locale.
-
Va automatique riables: les variables automatiques stockent l’état de PowerShell. Ces variables sont créées par PowerShell et PowerShell modifie leurs valeurs comme requis pour maintenir leur précision. Les utilisateurs ne peuvent « pas changer la valeur de ces variables. Par exemple, la variable
$PSHOME
stocke le chemin du répertoire d’installation de PowerShell.Pour plus d’informations, une liste et une description des variables automatiques, voir about_Automatic_Variables.
-
Variables de préférence: les variables de préférence stockent les préférences utilisateur pour PowerShell. Ces variables sont créées par PowerShell et sont remplies avec des valeurs par défaut. Les utilisateurs peuvent modifier les valeurs de ces variables. Par exemple, la variable
$MaximumHistoryCount
détermine le nombre maximum d’entrées dans l’historique de session.Pour plus d’informations, une liste et une description de les variables de préférence, voir about_Preference_Variables.
Utilisation des variables
Pour créer une nouvelle variable, utilisez une instruction d’affectation pour attribuer une valeur à la variable. Vous n’avez pas à déclarer la variable avant de l’utiliser. La valeur par défaut de toutes les variables est $null
.
Pour obtenir une liste de toutes les variables de votre session PowerShell, tapez Get-Variable
. Les noms des variables sont affichés sans le signe dollar ($
) qui est utilisé pour référencer les variables.
Par exemple:
Les variables sont utiles pour stocker les résultats des commandes.
Par exemple:
Pour afficher la valeur d’une variable, tapez le nom de la variable, précédé du signe adollar ($
).
Par exemple:
Pour modifier la valeur d’une variable, attribuez une nouvelle valeur à la variable.
Les exemples suivants affichent la valeur de la variable $MyVariable
, modifient la valeur de la variable, puis affichent la nouvelle valeur.
Pour supprimer la valeur d’une variable, utilisez l’applet de commande Clear-Variable
ou modifiez la valeur ue à $null
.
Pour supprimer la variable , utilisez Remove-Variableou Remove-Item.
Types de variables
Vous pouvez stocker n’importe quel type d’objet dans une variable, y compris des entiers, des chaînes, des tableaux et des tables de hachage. Et les objets qui représentent des processus, des services, des journaux d’événements et des ordinateurs.
Les variables PowerShell sont mal typées, ce qui signifie qu’elles ne sont pas limitées à un type d’objet particulier. Une seule variable peut même contenir une collection, ou un tableau, de différents types d’objets en même temps.
Le type de données d’une variable est déterminé par les types .NET des valeurs de la variable. Pour afficher le type d’objet d’une variable, utilisezGet- Membre.
Par exemple:
Vous pouvez utiliser un attribut de type et une notation de conversion pour vous assurer qu’une variable ne peut contenir que des types d’objets spécifiques ou des objets qui peuvent être convertis dans ce type.Si vous essayez d’attribuer une valeur d’un autre type, PowerShell essaie de convertir la valeur en son type. Si le type ne peut pas être converti, l’instruction d’affectation échoue.
Pour utiliser la notation cast, saisissez un nom de type, entre crochets, avant le nom de la variable (à gauche de l’instruction d’affectation). L’exemple suivant crée une variable $number
qui ne peut contenir que des entiers, une variable $words
qui ne peut contenir que des chaînes et une $dates
variable qui peut ne contenir que des objets DateTime.
Utilisation de variables dans les commandes et les expressions
Pour utiliser une variable dans une commande ou une expression, saisissez le nom de la variable, précédé du signe dollar ($
).
Si le nom de la variable et le signe dollar ne sont pas « t entre guillemets, ou s’ils » sont entre guillemets doubles ("
), t a valeur de la variable est utilisée dans la commande ou l’expression.
Si le nom de la variable et le signe dollar sont entre guillemets simples ("
), le nom de la variable est utilisé dans l’expression.
Pour plus d’informations sur l’utilisation des guillemets dans PowerShell, reportez-vous à la section seeabout_Quoting_Rules.
Cet exemple obtient la valeur de $PROFILE
variable, qui est le chemin d’accès au fichier de profil utilisateur PowerShell dans la console PowerShell.
Dans ce Par exemple, deux commandes sont affichées pour ouvrir le profil PowerShell innotepad.exe. L’exemple avec des guillemets doubles ("
) utilise la variable « svalue.
Les exemples suivants utilisent guillemets simples ("
) qui traitent la variable comme du texte littéral.
Noms de variables contenant des caractères spéciaux
Les noms de variables commencent par un dollar ( $
) et peut inclure des caractères alphanumériques et des caractères spéciaux. La longueur du nom de variable n’est limitée que par la mémoire disponible.
La meilleure pratique est que les noms de variable incluent uniquement des caractères alphanumériques et le caractère de soulignement (_
). Les noms de variables comprenant des espaces et d’autres caractères spéciaux sont difficiles à utiliser et doivent être évités.
Les noms de variables alphanumériques peuvent contenir ces caractères :
- Caractères Unicode de ces catégories: Lu, Ll, Lt, Lm, L o ou Nd.
- Caractère de soulignement (
_
). - Point d’interrogation (
?
) caractère.
La liste suivante contient les descriptions des catégories Unicode. Pour plus d’informations, voir UnicodeCategory.
- Lu – UppercaseLetter
- Ll – LowercaseLetter
- Lt – TitlecaseLetter
- Lm – ModifierLetter
- Lo – OtherLetter
- Nd – DecimalDigitNumber
Pour créer ou afficher un nom de variable comprenant des espaces ou des caractères spéciaux, placez le nom de la variable avec le bouclé accolades ({}
) caractères. Les accolades indiquent à PowerShell d’interpréter les caractères du nom de variable comme des littéraux.
Les noms de variables de caractères spéciaux peuvent contenir ces caractères:
Par exemple, la commande suivante crée la variable nommée save-items
. Les accolades bouclées ({}
) sont nécessaires car le nom de la variable comprend un trait d’union (-
) caractère spécial.
La commande suivante récupère les éléments enfants dans le répertoire représenté par l’environnement ProgramFiles(x86)
nment variable.
Pour référencer un nom de variable qui inclut des accolades, placez le nom de la variable entre accolades et utilisez le caractère backtick pour échapper les accolades. Par exemple, pour créer une variable nommée this{value}is
tapez:
Variables et portée
Par défaut, les variables ne sont disponibles que dans la portée dans laquelle elles « ont été créées.
Par exemple, une variable que vous créez dans une fonction est uniquement disponible dans la fonction. Une variable que vous créez dans un script n’est disponible que dans le script. Si vous dotez le script de la source, la variable est ajoutée à currentscope. Pour plus d’informations, consultez about_Scopes.
Vous pouvez utiliser un modificateur de portée pour changer la portée par défaut de la variable. L’expression suivante crée une variable nommée Computers
. La variable a une portée globale, même lorsqu’elle est créée dans un script ou une fonction.
Pour tout script ou commande qui s’exécute hors session, vous avez besoin du modificateur de portée Using
pour incorporer la variable valeurs de la portée de la session appelante, afin que le code de session ne puisse y accéder.
Pour plus d’informations, consultez about_Remote_Variables.
Enregistrement des variables
Variables que vous créez ne sont disponibles que dans la session dans laquelle vous les créez. Elles « sont perdues lorsque vous fermez votre session.
Pour créer la variable dans chaque session PowerShell que vous démarrez, ajoutez la variable à votre profil PowerShell.
Par exemple, pour modifier la valeur de la variable $VerbosePreference
dans chaque session PowerShell, ajoutez la commande suivante à votre profil PowerShell.
Vous pouvez ajouter cette commande à votre profil PowerShell en ouvrant le fichier $PROFILE
dans un éditeur de texte, tel que notepad.exe. Pour plus d’informations sur les profils PowerShell, consultez about_Profiles.
Le Variable: lecteur
Le fournisseur de variables PowerShell crée un lecteur Variable:
qui ressemble et agit comme un lecteur de système de fichiers, mais il contient les variables de votre session et leurs valeurs.
Pour passer au lecteur Variable:
, utilisez la commande suivante:
Pour lister les éléments et les variables du lecteur Variable:
, utilisez le ou Get-ChildItem
applets de commande.
Pour obtenir la valeur d’une variable particulière, utilisez la notation du système de fichiers pour spécifier le nom du lecteur et le nom de la variable. Par exemple, pour obtenir la variable automatique $PSCulture
, utilisez la commande suivante.
Pour afficher plus d’informations sur le lecteur Variable:
et le fournisseur PowerShellVariable, saisissez:
Syntaxe de variable avec chemins de fournisseur
Vous pouvez préfixer un chemin de fournisseur avec le signe dollar ($
) et accéder au contenu de tout fournisseur qui implémente l’interface IContentCmdletProvider.
Les fournisseurs PowerShell intégrés suivants prennent en charge cette notation:
- about_Environment_Provider
- about_Variable_Provider
- about_Function_Provider
- about_Alias_Provider
Les applets de commande variables
PowerShell comprend un ensemble d’applets de commande conçus pour gérer les variables.
Pour répertorier les applets de commande, tapez:
Pour obtenir de l’aide pour une applet de commande spécifique, tapez:
Nom de l’applet de commande | Description |
---|---|
Clear-Variable |
Supprime la valeur d’une variable. |
Get-Variable |
Obtient les variables de la console actuelle. |
New-Variable |
Crée une nouvelle variable. |
Remove-Variable |
Supprime une variable et sa valeur. |
Set-Variable |
Modifie la valeur d’une variable. |
Voir aussi
about_Automatic_Variables
about_Environment_Variables