RUBRIQUE
about_Automatic_Variables
DESCRIPTION COURTE
Décrit des variables qui stockent les informations d'état pour Windows
PowerShell.
Ces variables sont créées et gérées par Windows PowerShell.
DESCRIPTION LONGUE
Voici une liste des variables automatiques utilisées dans Windows
PowerShell :
$$
Contient le dernier jeton de la dernière ligne reçue par la
session.
$?
Indique l'état d'exécution de la dernière opération. Cette variable
contient la valeur TRUE si la dernière opération a réussi et FALSE si
elle a échoué.
$^
Contient le premier jeton de la dernière ligne reçue par la
session.
$_
Contient l'objet actuel de l'objet de pipeline. Vous pouvez
utiliser cette variable dans les commandes qui exécutent une
action sur chaque objet ou sur les objets sélectionnés d'un
pipeline.
$Args
Contient un tableau des paramètres non déclarés et/ou des
valeurs de paramètres passés à une fonction, un script ou un
bloc de script.
Lorsque vous créez une fonction, vous pouvez déclarer les
paramètres en utilisant le mot clé param ou en ajoutant entre
parenthèses une liste de paramètres séparés par des virgules
après le nom de la fonction.
$ConsoleFileName
Contient le chemin d'accès du fichier console (.psc1) qui a
été utilisé en dernier dans la session. Cette variable est remplie
lorsque vous démarrez Windows PowerShell avec le paramètre
PSConsoleFile ou lorsque vous utilisez l'applet de commande
Export-Console pour exporter des noms de composants logiciels
enfichables vers un fichier console.
Lorsque vous utilisez l'applet de commande Export-Console sans
paramètre, elle met à jour automatiquement le fichier console
qui a été utilisé en dernier dans la session. Vous pouvez
employer cette variable automatique pour déterminer le fichier
qui sera mis à jour.
$Error
Contient un tableau des objets erreurs représentant les
erreurs les plus récentes. L'erreur la plus récente correspond
au premier objet erreur du tableau ($Error[0]).
$Event
Contient un objet PSEventArgs représentant l'événement en cours
de traitement. Cette variable est remplie uniquement dans le bloc
Action d'une commande d'inscription d'événement, telle que
Register-ObjectEvent. La valeur de cette variable est le même objet
que celui retourné par l'applet de commande Get-Event. Vous pouvez
par conséquent utiliser les propriétés de la variable $Event,
par exemple $Event.TimeGenerated, dans un bloc de script Action.
$EventSubscriber
Contient un objet PSEventSubscriber représentant l'abonné à
l'événement de l'événement en cours de traitement. Cette variable
est remplie uniquement dans le bloc Action d'une commande
d'inscription d'événement. La valeur de cette variable est le même
objet que celui retourné par l'applet de commande Get-EventSubscriber.
$ExecutionContext
Contient un objet EngineIntrinsics représentant le contexte
d'exécution de l'hôte Windows PowerShell. Vous pouvez utiliser
cette variable pour rechercher les objets d'exécution qui sont
disponibles pour les applets de commande.
$False
Contient la valeur FALSE. Vous pouvez utiliser cette variable
à la place de la chaîne " false " pour représenter la valeur
FALSE dans les commandes et les scripts. La chaîne peut être
interprétée comme vraie (TRUE) si elle est convertie en chaîne
non vide ou en entier non nul.
$ForEach
Contient l'énumérateur d'une boucle ForEach-Object. Vous
pouvez utiliser les propriétés et méthodes des énumérateurs
sur la valeur de la variable $ForEach. Cette variable existe
uniquement pendant que la boucle For s'exécute. Elle est supprimée
lorsque la boucle prend fin.
$Home
Contient le chemin d'accès complet du répertoire de base de
l'utilisateur. Cette variable équivaut aux variables
d'environnement %homedrive%%homepath%, généralement
C:\Documents and Settings\<utilisateur>.
$Host
Contient un objet représentant l'application hôte actuelle
pour Windows PowerShell. Vous pouvez utiliser cette variable pour
représenter l'hôte actuel dans les commandes, ou bien pour afficher
ou modifier les propriétés de l'hôte, telles que $Host.version,
$Host.CurrentCulture ou $host.ui.rawui.setbackgroundcolor("Red").
$Input
Énumérateur contenant l'entrée passée à une fonction. La
variable $Input respecte la casse et n'est disponible que dans
les fonctions et les blocs de script. (Les blocs de script sont
essentiellement des fonctions sans nom.) Dans le bloc Process
d'une fonction, la variable $Input contient l'objet se trouvant
actuellement dans le pipeline. Une fois le bloc Process exécuté,
$Input a la valeur NULL. Si la fonction ne comporte pas de bloc
Process, la valeur de la variable $Input est disponible pour le bloc
End et contient toutes les entrées de la fonction.
$LastExitCode
Contient le code de sortie du dernier programme Windows exécuté.
$Matches
La variable $Matches est utilisée avec les opérateurs -match
et -notmatch.
Lorsque vous envoyez une entrée scalaire à l'opérateur -match ou -
notmatch, et qu'il détecte une correspondance, il retourne une valeur
booléenne et remplit la variable automatique $Matches avec une table
de hachage contenant toutes valeurs de chaîne avec lesquelles une
correspondance a été établie. Pour plus d'informations sur
l'opérateur -match, consultez about_comparison_operators.
$MyInvocation
Contient un objet comportant des informations sur la commande
actuelle, comme un script, une fonction ou un bloc de script.
Vous pouvez utiliser les informations contenues dans l'objet,
telles que le chemin d'accès et le nom de fichier du script
($myinvocation.mycommand.path), ou le nom d'une fonction
($myinvocation.mycommand.name), pour identifier la commande
actuelle. Cela s'avère particulièrement utile pour rechercher
le nom du script en cours d'exécution.
$NestedPromptLevel
Indique le niveau d'invite actuel. La valeur 0 indique le
niveau d'invite d'origine. La valeur est incrémentée lorsque
vous accédez à un niveau imbriqué et décrémentée lorsque vous
le quittez.
Par exemple, Windows PowerShell présente une invite de commandes
imbriquée lorsque vous utilisez la méthode $Host.EnterNestedPrompt.
Windows PowerShell présente également ce type d'invite lorsque vous
atteignez un point d'arrêt dans son débogueur.
Lorsque vous accédez à une invite imbriquée, Windows
PowerShell suspend la commande actuelle, enregistre le contexte
d'exécution et incrémente la valeur de la variable $NestedPromptLevel.
Pour créer des invites de commandes imbriquées supplémentaires
(jusqu'à 128 niveaux) ou revenir à l'invite de commandes d'origine,
exécutez la commande ou tapez " exit ".
La variable $NestedPromptLevel vous aide à contrôler le niveau
d'invite. Vous pouvez créer une autre invite de commande Windows
PowerShell incluant cette valeur afin qu'elle soit toujours visible.
$NULL
Contient une valeur NULL ou vide. Vous pouvez utiliser cette
variable à la place de la chaîne " NULL " pour représenter la
valeur NULL dans les commandes et les scripts. La chaîne peut être
interprétée comme vraie (TRUE) si elle est convertie en chaîne non
vide ou en entier non nul.
$PID
Contient l'identificateur (PID) du processus qui héberge la session
Windows PowerShell actuelle.
$Profile
Contient le chemin d'accès complet du profil Windows PowerShell de
l'utilisateur et de l'application hôte actuels. Vous pouvez utiliser
cette variable pour représenter le profil dans les commandes. Par exemple,
vous pouvez l'employer dans une commande pour déterminer si un profil
a été créé :
test-path $profile
En outre, elle peut être utilisée dans une commande pour la
création d'un profil :
new-item -type file -path $pshome -force
Vous pouvez également l'employer dans une commande pour ouvrir
le profil dans le Bloc-notes :
notepad $profile
$PSBoundParameters
Contient un dictionnaire des paramètres actifs et des valeurs
actuelles correspondantes. Cette variable a une valeur
uniquement dans une étendue où les paramètres sont déclarés
(par exemple, un script ou une fonction). Vous pouvez
l'utiliser pour afficher ou modifier les valeurs actuelles des
paramètres, ou pour passer des valeurs de paramètres à un
autre script ou une autre fonction.
Par exemple :
function test {
param($a, $b)
# Afficher les paramètres dans un format de dictionnaire.
$psboundparameters
# Appeler la fonction Test1 avec $a et $b.
test1 @psboundparameters
}
$PsCmdlet
Contient un objet représentant l'applet de commande ou la fonction
avancée en cours d'exécution.
Vous pouvez utiliser les propriétés et méthodes de l'objet
dans le code de votre applet de commande ou de votre fonction pour
répondre aux conditions d'utilisation. Par exemple, la propriété
ParameterSetName contient le nom du jeu de paramètres utilisé et la
méthode ShouldProcess ajoute dynamiquement les paramètres WhatIf et
Confirm à l'applet de commande.
Pour plus d'informations sur la variable automatique
$PSCmdlet, consultez about_Functions_Advanced.
$PsCulture
Contient le nom de la culture actuellement utilisée dans le système
d'exploitation. La culture détermine le format d'affichage des
éléments, tels que les nombres, les devises et les dates. Elle
correspond à la valeur de la propriété
System.Globalization.CultureInfo.CurrentCulture.Name du système.
Pour obtenir l'objet System.Globalization.CultureInfo du système,
utilisez l'applet de commande Get-Culture.
$PSDebugContext
Pendant le débogage, cette variable contient des informations sur
l'environnement de débogage. Dans les autres contextes, elle contient
une valeur NULL. Par conséquent, vous pouvez l'utiliser pour indiquer
si le débogueur a le contrôle. Lorsqu'elle est remplie, elle contient
un objet PsDebugContext doté de propriétés Breakpoints et
InvocationInfo. La propriété InvocationInfo comporte plusieurs
propriétés utiles, y compris la propriété Location. La propriété
Location indique le chemin d'accès du script en cours de débogage.
$PsHome
Contient le chemin d'accès complet du répertoire d'installation de
Windows PowerShell, qui correspond généralement à
%windir%\System32\WindowsPowerShell\v1.0. Vous pouvez utiliser cette
variable dans les chemins d'accès des fichiers Windows PowerShell.
Par exemple, la commande suivante recherche le mot " variable "
dans les rubriques d'aide conceptuelles :
select-string -pattern variable -path $pshome\*.txt
$PSScriptRoot
Contient le répertoire à partir duquel le module de script est
exécuté.
Cette variable permet aux scripts d'utiliser le chemin d'accès
du module pour accéder à d'autres ressources.
$PsUICulture
Contient le nom de la culture d'interface utilisateur (IU) qui est
actuellement employée dans le système d'exploitation. La culture de
l'interface utilisateur détermine les chaînes de texte employées
pour les éléments de l'interface utilisateur, tels que les menus
et les messages. Elle correspond à la valeur de la
propriété System.Globalization.CultureInfo.CurrentUICulture.Name
du système. Pour obtenir l'objet System.Globalization.CultureInfo
du système, utilisez l'applet de commande Get-UICulture.
$PsVersionTable
Contient une table de hachage en lecture seule qui affiche
des détails relatifs à la version de Windows PowerShell en cours
d'exécution dans la session active.
La table inclut les éléments suivants :
CLRVersion : Version de l'environnement CLR (Common
Language Runtime)
BuildVersion : Numéro de build de la version actuelle
PSVersion : Numéro de version de Windows
PowerShell
WSManStackVersion : Numéro de version de la pile du
service Gestion des services Web
PSCompatibleVersions : Versions de Windows PowerShell
compatibles avec la version actuelle
SerializationVersion : Version de la méthode de sérialisation
PSRemotingProtocolVersion :
Version du protocole de gestion à
distance Windows PowerShell
$Pwd
Contient un objet de chemin d'accès représentant le chemin d'accès
complet du répertoire actif.
$Sender
Contient l'objet qui a généré cet événement. Cette variable est
remplie uniquement dans le bloc Action d'une commande d'inscription
d'événement. La valeur de cette variable peut aussi se trouver dans
la propriété Sender de l'objet PSEventArgs
(System.Management.Automation.PSEventArgs) retourné par Get-Event.
$ShellID
Contient l'identificateur de l'interpréteur de commandes actuel.
$SourceArgs
Contient des objets représentant les arguments de l'événement en
cours de traitement. Cette variable est remplie uniquement dans le
bloc Action d'une commande d'inscription d'événement. La valeur de
cette variable peut aussi se trouver dans la propriété SourceArgs de
l'objet PSEventArgs (System.Management.Automation.PSEventArgs) retourné
par Get-Event.
$SourceEventArgs
Contient un objet représentant le premier argument d'événement qui
dérive d'EventArgs de l'événement en cours de traitement. Cette
variable est remplie uniquement dans le bloc Action d'une commande
d'inscription d'événement. La valeur de cette variable peut aussi se
trouver dans la propriété SourceArgs de l'objet PSEventArgs
(System.Management.Automation.PSEventArgs) retourné par Get-Event.
$This
Dans un bloc de script définissant une propriété ou une méthode de
script, la variable $This fait référence à l'objet étendu.
$True
Contient la valeur TRUE. Vous pouvez utiliser cette variable pour
représenter la valeur TRUE dans les commandes et les scripts.
VOIR AUSSI
about_Hash_Tables
about_Preference_Variables
about_Variables