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 la QuestionMarkVariable classe.
  • La null variable est une instance de la NullVariable 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

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 processespar .

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:

Voir aussi