Vous êtes sur la page 1sur 6

RUBRIQUE

about_Automatic_Variables
DESCRIPTION COURTE
Dcrit des variables qui stockent les informations d'tat pour Windows
PowerShell.
Ces variables sont cres et gres par Windows PowerShell.
DESCRIPTION LONGUE
Voici une liste des variables automatiques utilises dans Windows
PowerShell :


$$
Contient le dernier jeton de la dernire ligne reue par la
session.

$?
Indique l'tat d'excution de la dernire opration. Cette variable
contient la valeur TRUE si la dernire opration a russi et FALSE si
elle a chou.

$^
Contient le premier jeton de la dernire ligne reue par la
session.

$_
Contient l'objet actuel de l'objet de pipeline. Vous pouvez
utiliser cette variable dans les commandes qui excutent une
action sur chaque objet ou sur les objets slectionns d'un
pipeline.

$Args
Contient un tableau des paramtres non dclars et/ou des
valeurs de paramtres passs une fonction, un script ou un
bloc de script.
Lorsque vous crez une fonction, vous pouvez dclarer les
paramtres en utilisant le mot cl param ou en ajoutant entre
parenthses une liste de paramtres spars par des virgules
aprs le nom de la fonction.
$ConsoleFileName
Contient le chemin d'accs du fichier console (.psc1) qui a
t utilis en dernier dans la session. Cette variable est remplie
lorsque vous dmarrez Windows PowerShell avec le paramtre
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
paramtre, elle met jour automatiquement le fichier console
qui a t utilis en dernier dans la session. Vous pouvez
employer cette variable automatique pour dterminer le fichier
qui sera mis jour.
$Error
Contient un tableau des objets erreurs reprsentant les
erreurs les plus rcentes. L'erreur la plus rcente correspond
au premier objet erreur du tableau ($Error[0]).
$Event
Contient un objet PSEventArgs reprsentant l'vnement en cours
de traitement. Cette variable est remplie uniquement dans le bloc
Action d'une commande d'inscription d'vnement, telle que
Register-ObjectEvent. La valeur de cette variable est le mme objet
que celui retourn par l'applet de commande Get-Event. Vous pouvez
par consquent utiliser les proprits de la variable $Event,
par exemple $Event.TimeGenerated, dans un bloc de script Action.
$EventSubscriber
Contient un objet PSEventSubscriber reprsentant l'abonn
l'vnement de l'vnement en cours de traitement. Cette variable
est remplie uniquement dans le bloc Action d'une commande
d'inscription d'vnement. La valeur de cette variable est le mme
objet que celui retourn par l'applet de commande Get-EventSubscriber.
$ExecutionContext
Contient un objet EngineIntrinsics reprsentant le contexte
d'excution de l'hte Windows PowerShell. Vous pouvez utiliser
cette variable pour rechercher les objets d'excution qui sont
disponibles pour les applets de commande.
$False
Contient la valeur FALSE. Vous pouvez utiliser cette variable
la place de la chane " false " pour reprsenter la valeur
FALSE dans les commandes et les scripts. La chane peut tre
interprte comme vraie (TRUE) si elle est convertie en chane
non vide ou en entier non nul.
$ForEach
Contient l'numrateur d'une boucle ForEach-Object. Vous
pouvez utiliser les proprits et mthodes des numrateurs
sur la valeur de la variable $ForEach. Cette variable existe
uniquement pendant que la boucle For s'excute. Elle est supprime
lorsque la boucle prend fin.

$Home
Contient le chemin d'accs complet du rpertoire de base de
l'utilisateur. Cette variable quivaut aux variables
d'environnement %homedrive%%homepath%, gnralement
C:\Documents and Settings\<utilisateur>.
$Host
Contient un objet reprsentant l'application hte actuelle
pour Windows PowerShell. Vous pouvez utiliser cette variable pour
reprsenter l'hte actuel dans les commandes, ou bien pour afficher
ou modifier les proprits de l'hte, telles que $Host.version,
$Host.CurrentCulture ou $host.ui.rawui.setbackgroundcolor("Red").
$Input
numrateur contenant l'entre passe 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 excut,
$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 entres de la fonction.
$LastExitCode
Contient le code de sortie du dernier programme Windows excut.
$Matches
La variable $Matches est utilise avec les oprateurs -match
et -notmatch.
Lorsque vous envoyez une entre scalaire l'oprateur -match ou -
notmatch, et qu'il dtecte une correspondance, il retourne une valeur
boolenne et remplit la variable automatique $Matches avec une table
de hachage contenant toutes valeurs de chane avec lesquelles une
correspondance a t tablie. Pour plus d'informations sur
l'oprateur -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'accs 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'avre particulirement utile pour rechercher
le nom du script en cours d'excution.
$NestedPromptLevel
Indique le niveau d'invite actuel. La valeur 0 indique le
niveau d'invite d'origine. La valeur est incrmente lorsque
vous accdez un niveau imbriqu et dcrmente lorsque vous
le quittez.
Par exemple, Windows PowerShell prsente une invite de commandes
imbrique lorsque vous utilisez la mthode $Host.EnterNestedPrompt.
Windows PowerShell prsente galement ce type d'invite lorsque vous
atteignez un point d'arrt dans son dbogueur.
Lorsque vous accdez une invite imbrique, Windows
PowerShell suspend la commande actuelle, enregistre le contexte
d'excution et incrmente la valeur de la variable $NestedPromptLevel.
Pour crer des invites de commandes imbriques supplmentaires
(jusqu' 128 niveaux) ou revenir l'invite de commandes d'origine,
excutez la commande ou tapez " exit ".
La variable $NestedPromptLevel vous aide contrler le niveau
d'invite. Vous pouvez crer 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 chane " NULL " pour reprsenter la
valeur NULL dans les commandes et les scripts. La chane peut tre
interprte comme vraie (TRUE) si elle est convertie en chane non
vide ou en entier non nul.
$PID
Contient l'identificateur (PID) du processus qui hberge la session
Windows PowerShell actuelle.

$Profile
Contient le chemin d'accs complet du profil Windows PowerShell de
l'utilisateur et de l'application hte actuels. Vous pouvez utiliser
cette variable pour reprsenter le profil dans les commandes. Par exemple,
vous pouvez l'employer dans une commande pour dterminer si un profil
a t cr :
test-path $profile
En outre, elle peut tre utilise dans une commande pour la
cration 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 paramtres actifs et des valeurs
actuelles correspondantes. Cette variable a une valeur
uniquement dans une tendue o les paramtres sont dclars
(par exemple, un script ou une fonction). Vous pouvez
l'utiliser pour afficher ou modifier les valeurs actuelles des
paramtres, ou pour passer des valeurs de paramtres un
autre script ou une autre fonction.
Par exemple :
function test {
param($a, $b)

# Afficher les paramtres dans un format de dictionnaire.
$psboundparameters

# Appeler la fonction Test1 avec $a et $b.
test1 @psboundparameters
}
$PsCmdlet
Contient un objet reprsentant l'applet de commande ou la fonction
avance en cours d'excution.
Vous pouvez utiliser les proprits et mthodes de l'objet
dans le code de votre applet de commande ou de votre fonction pour
rpondre aux conditions d'utilisation. Par exemple, la proprit
ParameterSetName contient le nom du jeu de paramtres utilis et la
mthode ShouldProcess ajoute dynamiquement les paramtres 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 utilise dans le systme
d'exploitation. La culture dtermine le format d'affichage des
lments, tels que les nombres, les devises et les dates. Elle
correspond la valeur de la proprit
System.Globalization.CultureInfo.CurrentCulture.Name du systme.
Pour obtenir l'objet System.Globalization.CultureInfo du systme,
utilisez l'applet de commande Get-Culture.
$PSDebugContext
Pendant le dbogage, cette variable contient des informations sur
l'environnement de dbogage. Dans les autres contextes, elle contient
une valeur NULL. Par consquent, vous pouvez l'utiliser pour indiquer
si le dbogueur a le contrle. Lorsqu'elle est remplie, elle contient
un objet PsDebugContext dot de proprits Breakpoints et
InvocationInfo. La proprit InvocationInfo comporte plusieurs
proprits utiles, y compris la proprit Location. La proprit
Location indique le chemin d'accs du script en cours de dbogage.
$PsHome
Contient le chemin d'accs complet du rpertoire d'installation de
Windows PowerShell, qui correspond gnralement
%windir%\System32\WindowsPowerShell\v1.0. Vous pouvez utiliser cette
variable dans les chemins d'accs 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 rpertoire partir duquel le module de script est
excut.
Cette variable permet aux scripts d'utiliser le chemin d'accs
du module pour accder d'autres ressources.
$PsUICulture
Contient le nom de la culture d'interface utilisateur (IU) qui est
actuellement employe dans le systme d'exploitation. La culture de
l'interface utilisateur dtermine les chanes de texte employes
pour les lments de l'interface utilisateur, tels que les menus
et les messages. Elle correspond la valeur de la
proprit System.Globalization.CultureInfo.CurrentUICulture.Name
du systme. Pour obtenir l'objet System.Globalization.CultureInfo
du systme, utilisez l'applet de commande Get-UICulture.
$PsVersionTable
Contient une table de hachage en lecture seule qui affiche
des dtails relatifs la version de Windows PowerShell en cours
d'excution dans la session active.
La table inclut les lments suivants :
CLRVersion : Version de l'environnement CLR (Common
Language Runtime)
BuildVersion : Numro de build de la version actuelle
PSVersion : Numro de version de Windows
PowerShell
WSManStackVersion : Numro 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 mthode de srialisation
PSRemotingProtocolVersion :
Version du protocole de gestion
distance Windows PowerShell
$Pwd
Contient un objet de chemin d'accs reprsentant le chemin d'accs
complet du rpertoire actif.

$Sender
Contient l'objet qui a gnr cet vnement. Cette variable est
remplie uniquement dans le bloc Action d'une commande d'inscription
d'vnement. La valeur de cette variable peut aussi se trouver dans
la proprit Sender de l'objet PSEventArgs
(System.Management.Automation.PSEventArgs) retourn par Get-Event.

$ShellID
Contient l'identificateur de l'interprteur de commandes actuel.

$SourceArgs
Contient des objets reprsentant les arguments de l'vnement en
cours de traitement. Cette variable est remplie uniquement dans le
bloc Action d'une commande d'inscription d'vnement. La valeur de
cette variable peut aussi se trouver dans la proprit SourceArgs de
l'objet PSEventArgs (System.Management.Automation.PSEventArgs) retourn
par Get-Event.

$SourceEventArgs
Contient un objet reprsentant le premier argument d'vnement qui
drive d'EventArgs de l'vnement en cours de traitement. Cette
variable est remplie uniquement dans le bloc Action d'une commande
d'inscription d'vnement. La valeur de cette variable peut aussi se
trouver dans la proprit SourceArgs de l'objet PSEventArgs
(System.Management.Automation.PSEventArgs) retourn par Get-Event.

$This
Dans un bloc de script dfinissant une proprit ou une mthode de
script, la variable $This fait rfrence l'objet tendu.
$True
Contient la valeur TRUE. Vous pouvez utiliser cette variable pour
reprsenter la valeur TRUE dans les commandes et les scripts.
VOIR AUSSI
about_Hash_Tables
about_Preference_Variables
about_Variables