about_Variable_Provider
Nom du fournisseur
Variable
Lecteurs
Variable:
Capabilities
ShouldProcess
Description courte
Fournit l’accès aux variables PowerShell et à leurs valeurs.
Description détaillée
Le fournisseur de variables PowerShell vous permet d’obtenir, d’ajouter, de modifier, d’effacer et de supprimer des variables PowerShell dans la console actuelle.
Le fournisseur de variables PowerShell prend en charge les variables créées par PowerShell, notamment les variables automatiques, les variables de préférence et les variables que vous créez.
Le lecteur de 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 variables prend en charge 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 des applets de commande variables , vous n’avez pas besoin de spécifier le Variable:
lecteur dans le nom. Cet article ne traite pas de l’utilisation des applets de commande variables .
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 p
variable et stocke les résultats d’une Get-Process
commande.
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 PSVariable
classe. D’autres variables et leurs types sont répertoriés ci-dessous.
- La
?
variable est une instance de laQuestionMarkVariable
classe. - La
null
variable est une instance de laNullVariable
classe. - Les variables de nombre maximal sont des instances de la
SessionStateCapacityVariable
classe. LocalVariable
les instances contiennent des informations sur l’exécution actuelle, telles que :MyInvocation
PSCommandPath
PSScriptRoot
PSBoundParameters
args
input
Navigation dans les lecteurs de variables
Le fournisseur de variables expose son magasin de données dans le Variable:
lecteur. Pour utiliser des variables, vous pouvez modifier votre emplacement vers le Variable:
lecteur (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 du système de fichiers, tapez le nom du lecteur. Par exemple, entrez :
Set-Location C:
Vous pouvez également utiliser le fournisseur de variables à partir de n’importe quel autre lecteur PowerShell. Pour référencer une variable à partir d’un autre emplacement, utilisez le nom Variable:
du lecteur dans le chemin d’accès.
Remarque
PowerShell utilise des alias pour vous permettre d’utiliser des chemins d’accès de fournisseur familiers. Les commandes telles que dir
et ls
sont désormais des alias pour Get-ChildItem sont cd
un alias pour Set-Location. et pwd
est un alias pour Get-Location.
Affichage de la valeur des variables
Obtenir toutes les variables dans la session active
Cette commande obtient la liste de toutes les variables et de leur valeur dans la session active. Vous pouvez utiliser cette commande à partir de n’importe quel lecteur PowerShell.
Get-ChildItem -Path Variable:
Obtenir une variable à l’aide de son chemin d’accès du fournisseur
Cette commande récupère une valeur de variable à l’aide de son chemin d’accès du fournisseur précédé du 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 dont le nom commence par « max ». Vous pouvez utiliser cette commande à partir de n’importe quel lecteur PowerShell.
Get-ChildItem -Path Variable:max*
Obtenez la valeur du ? variable
Cette commande utilise le -LiteralPath
paramètre Get-ChildItem pour obtenir la valeur de la ?
variable à partir du Variable:
lecteur. Il ?
s’agit d’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 -LiteralPath
paramètre.
Get-ChildItem -Literalpath ?
Obtenir des variables ReadOnly et Constante
Cette commande obtient les variables qui ont les valeurs de ReadOnly
ou pour leur propriété OptionsConstant
.
Get-ChildItem -Path Variable: | Where-Object {
$_.options -Match "Constant" `
-or $_.options -Match "ReadOnly"
} | Format-List -Property name, value, options
Créer des variables
Créer une variable
Cette commande crée la services
variable et stocke les résultats d’une Get-Service
commande dans celle-ci. Étant donné que l’emplacement actuel se trouve dans le Variable:
lecteur, la valeur du -Path
paramètre est un point (.
), qui représente l’emplacement actuel.
Les parenthèses autour de la Get-Service
commande garantissent 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 services
variable et stocke le résultat d’une Get-Service
commande 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 de variables
Renommer une variable
Cette commande utilise l’applet Rename-Item
de commande pour remplacer le nom de la a
variable processes
par .
Rename-Item -Path Variable:a -NewName processes
Modifier la valeur d’une variable
Cette commande utilise l’applet Set-Item
de commande pour remplacer la valeur de la ErrorActionPreference
variable par « Stop ».
Set-Item -Path Variable:ErrorActionPreference -Value Stop
Copier une variable
Cette commande utilise l’applet Copy-Item
de commande pour copier la processes
variable dans old_processes
. Cela crée une variable nommée old_processes
qui a la même valeur que la processes
variable.
Copy-Item -Path Variable:processes -Destination Variable:old_processes
Supprimer une variable
Cette commande supprime la serv
variable 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 la propriété Options a la valeur Constant
. Sans le -Force
paramètre, la commande ne supprime pas les variables dont la 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 Clear-Item
de commande pour modifier la valeur de la processes
variable sur NULL.
Clear-Item -Path Variable:processes
Utilisation du pipeline
Les applets de commande du fournisseur acceptent l’entrée de 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 des applets de commande de fournisseur, consultez les références d’applet de commande fournies dans cet article.
Obtenir de l’aide
Depuis Windows PowerShell 3.0, vous pouvez obtenir des rubriques d'aide personnalisées pour les applets de commande du fournisseur, qui expliquent comment ces applets de commande se comportent dans un lecteur du 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 -Path
paramètre Get-Help pour spécifier un lecteur de système de fichiers.
Get-Help Get-ChildItem
Get-Help Get-ChildItem -Path variable: