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




Table des matières