Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Nom du fournisseur
Variable
Lecteurs
Variable:
Capacités
ShouldProcess
Brève description
Fournit l’accès aux variables PowerShell et à leurs valeurs.
Description détaillée
Le fournisseur de variable PowerShell vous permet d’obtenir, d’ajouter, de modifier, d’effacer et de supprimer des variables PowerShell dans la console actuelle.
Le fournisseur powerShell variable prend en charge les variables créées par PowerShell, y compris les variables automatiques, les variables de préférence et les variables que vous créez.
Le lecteur Variable est un espace de noms plat qui contient uniquement les objets variables. Les variables n'ont pas d'éléments enfants.
Le fournisseur de variable supporte les applets de commande suivantes, qui sont abordées dans cet article.
PowerShell inclut également un ensemble d’applets de commande conçues spécialement pour afficher et modifier des variables. Lorsque vous utilisez les cmdlets Variable, vous n'avez pas besoin de spécifier le lecteur Variable: dans le nom. Cet article ne couvre pas l'utilisation des cmdlets Variable.
Remarque
Vous pouvez également utiliser l’analyseur d’expression PowerShell pour créer, afficher et modifier les valeurs des variables sans utiliser les applets de commande. Lorsque vous travaillez directement avec des variables, utilisez un signe dollar ($) pour identifier le nom en tant que variable et l’opérateur d’affectation (=) pour établir et modifier sa valeur.
Par exemple, $p = Get-Process crée la variable p et stocke les résultats d’une commande Get-Process dans celle-ci.
Types exposés par ce fournisseur
Les variables peuvent être l’un des différents types. La plupart des variables seront des instances de la classe PSVariable. D’autres variables et leurs types sont répertoriés ci-dessous.
- La variable
?est une instance de la classeQuestionMarkVariable. - La variable
nullest une instance de la classeNullVariable. - Les variables de nombre maximal sont des instances de la classe
SessionStateCapacityVariable. -
LocalVariableinstances contiennent des informations sur l’exécution actuelle, telles que :MyInvocationPSCommandPathPSScriptRootPSBoundParametersargsinput
Navigation dans les lecteurs de variables
Le fournisseur Variable expose son magasin de données dans le lecteur Variable:. Pour utiliser des variables, vous pouvez changer votre emplacement vers le lecteur Variable: (Set-Location Variable:), ou vous pouvez travailler à partir de n’importe quel autre lecteur PowerShell. Pour référencer une variable à partir d'un autre emplacement, utilisez le nom du lecteur (Variable:) dans le chemin d'accès.
Set-Location Variable:
Pour revenir à un lecteur de système de fichiers, tapez le nom du lecteur. Par exemple, tapez :
Set-Location C:
Vous pouvez également utiliser le fournisseur Variable à partir de n'importe quel autre lecteur PowerShell. Pour référencer une variable à partir d'un autre emplacement, utilisez le nom du lecteur Variable: dans le chemin d'accès.
Remarque
PowerShell utilise des alias pour vous permettre de travailler de manière familière avec les chemins d'accès des fournisseurs. Les commandes telles que dir et ls sont désormais des alias pour Get-ChildItem , cd est un alias pour Set-Location . et pwd est un alias pour Get-Location.
Affichage de la valeur des variables
Obtenir toutes les variables de la session en cours
Cette commande obtient la liste de toutes les variables et de leurs valeurs dans la session active. Vous pouvez utiliser cette commande à partir de n’importe quel lecteur PowerShell.
Get-ChildItem -Path Variable:
Obtenir une variable en utilisant le chemin de son fournisseur
Cette commande récupère la valeur d'une variable en utilisant le chemin d'accès défini par le fournisseur et préfixé par le signe dollar ($). Cela a le même effet que le préfixe du nom des variables avec le signe dollar ($).
$Variable:HOME
Obtenir des variables à l'aide de caractères génériques
Cette commande obtient les variables avec des noms commençant par « Max ». Vous pouvez utiliser cette commande à partir de n’importe quel lecteur PowerShell.
Get-ChildItem -Path Variable:Max*
Obtenir la valeur de la variable ? variable
Cette commande utilise le paramètre -LiteralPath de Get-ChildItem pour obtenir la valeur de la variable ? à partir du lecteur Variable:.
? est un caractère générique dans les chemins d'accès, mais Get-ChildItem ne tente pas de résoudre les caractères génériques dans les valeurs du paramètre-LiteralPath.
Get-ChildItem -LiteralPath ?
Obtenir des variables en lecture seule et des variables constantes
Cette commande obtient les variables qui ont les valeurs de ReadOnly ou de Constant pour leur propriété Options .
Get-ChildItem -Path Variable: |
Where-Object {
$_.Options -match 'Constant' -or
$_.Options -match 'ReadOnly'
} |
Format-List -Property Name, Value, Options
Création de variables
Créer une variable
Cette commande crée la variable services et stocke les résultats d’une commande Get-Service dans celle-ci. Étant donné que l’emplacement actuel se trouve dans le lecteur Variable:, la valeur du paramètre -Path est un point (.), qui représente l’emplacement actuel.
Les parenthèses autour de la commande Get-Service vérifient que la commande est exécutée avant la création de la variable. Sans parenthèses, la valeur de la nouvelle variable est une chaîne « Get-Service ».
New-Item -Path . -Name services -Value (Get-Service)
Créer une variable à l’aide d’un chemin absolu
Cette commande crée une variable services et stocke le résultat d’une commande Get-Service dans celle-ci.
New-Item -Path Variable:services -Value Get-Service
Pour créer une variable sans valeur, omettez l’opérateur d’affectation.
Modification des variables
Renommer une variable
Cette commande utilise l’applet de commande Rename-Item pour remplacer le nom de la variable a par processes.
Rename-Item -Path Variable:a -NewName processes
Modifier la valeur d’une variable
Cette commande utilise l’applet de commande Set-Item pour remplacer la valeur de la variable ErrorActionPreference par « Stop ».
Set-Item -Path Variable:ErrorActionPreference -Value Stop
Copier une variable
Cette commande utilise l’applet de commande Copy-Item pour copier la variable processes dans old_processes. Cela crée une variable nommée old_processes qui a la même valeur que la variable processes.
Copy-Item -Path Variable:processes -Destination Variable:old_processes
Supprimer une variable
Cette commande supprime la variable serv de la session active. Vous pouvez utiliser cette commande dans n’importe quel lecteur PowerShell.
Remove-Variable -Path Variable:serv
Supprimer des variables à l’aide du paramètre -Force
Cette commande supprime toutes les variables de la session active, à l’exception des variables dont propriété Options a une valeur de Constant. Sans le paramètre -Force, la commande ne supprime pas les variables dont propriété Options a la valeur ReadOnly.
Remove-Item Variable:* -Force
Définition de la valeur d’une variable sur Null
Cette commande utilise l’applet de commande Clear-Item pour remplacer la valeur de la variable processes par NULL.
Clear-Item -Path Variable:processes
Utilisation du pipeline
Les cmdlets des fournisseurs acceptent l’entrée en pipeline. Vous pouvez utiliser le pipeline pour simplifier la tâche en envoyant des données de fournisseur d’une applet de commande à une autre applet de commande du fournisseur. Pour en savoir plus sur l'utilisation du pipeline avec les cmdlets du fournisseur, consultez les références des cmdlets fournies tout au long de cet article.
Obtenir de l’aide
À compter de Windows PowerShell 3.0, vous pouvez obtenir des rubriques d’aide personnalisées pour les applets de commande de fournisseur qui expliquent comment ces applets de commande se comportent dans un lecteur de système de fichiers.
Pour obtenir les rubriques d’aide personnalisées pour le lecteur de système de fichiers, exécutez une commande Get-Help dans un lecteur de système de fichiers ou utilisez le paramètre -Path de Get-Help pour spécifier un lecteur de système de fichiers.
Get-Help Get-ChildItem
Get-Help Get-ChildItem -Path Variable: