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