RUBRIQUE about_Environment_Variables DESCRIPTION COURTE Indique comment accéder aux variables d'environnement Windows dans Windows PowerShell. DESCRIPTION LONGUE Les variables d'environnement stockent des informations sur l'environnement du système d'exploitation. Ces informations incluent des détails tels que le chemin d'accès du système d'exploitation, le nombre de processeurs utilisé par le système d'exploitation et l'emplacement des dossiers temporaires. Les variables d'environnement stockent des données utilisées par le système d'exploitation et d'autres programmes. Par exemple, la variable d'environnement WINDIR contient l'emplacement du répertoire d'installation de Windows. Les programmes peuvent interroger la valeur de cette variable pour savoir où se trouvent les fichiers du système d'exploitation Windows. Windows PowerShell vous permet d'afficher et de modifier les variables d'environnement Windows, y compris celles définies dans le Registre ou pour une session particulière. Le fournisseur Environment de Windows PowerShell simplifie ce processus en facilitant l'affichage et la modification des variables d'environnement. Contrairement aux autres types de variables de Windows PowerShell, les variables d'environnement et leurs valeurs sont héritées par les sessions enfants, telles que les tâches en arrière-plan locales et les sessions dans lesquelles les membres de module s'exécutent. Par conséquent, les variables d'environnement sont parfaitement adaptées au stockage de valeurs requises à la fois dans les sessions parents et enfants. Fournisseur Environment de Windows PowerShell Le fournisseur Environment de Windows PowerShell vous permet d'accéder aux variables d'environnement Windows de Windows PowerShell sur un lecteur Windows PowerShell (lecteur Env:). Ce lecteur est très semblable à un lecteur de système de fichiers. Pour accéder au lecteur Env:, tapez : set-location env: Pour afficher ensuite le contenu du lecteur Env:, tapez : get-childitem Vous pouvez afficher les variables d'environnement du lecteur Env: à partir de tout autre lecteur Windows PowerShell et accéder au lecteur Env: afin d'afficher et de modifier les variables d'environnement. Objets des variables d'environnement Dans Windows PowerShell, chaque variable d'environnement est représentée par un objet correspondant à une instance de la classe System.Collections.DictionaryEntry. Dans chaque objet DictionaryEntry, le nom de la variable d'environnement correspond à la clé du dictionnaire. La valeur de la variable représente la valeur du dictionnaire. Pour afficher une variable d'environnement dans Windows PowerShell, extrayez un objet représentant la variable, puis affichez les valeurs des propriétés de l'objet. Lorsque vous modifiez une variable d'environnement dans Windows PowerShell, utilisez les méthodes associées à l'objet DictionaryEntry. Pour afficher les propriétés et méthodes de l'objet représentant une variable d'environnement dans Windows PowerShell, utilisez l'applet de commande Get-Member. Par exemple, pour afficher les méthodes et propriétés de tous les objets du lecteur Env:, tapez : get-item -path env:* | get-member Affichage des variables d'environnement Vous pouvez utiliser les applets de commande d'élément contenant le nom Item (applets de commande Item) pour afficher et modifier les valeurs des variables d'environnement. Dans la mesure où les variables d'environnement ne comportent pas d'élément enfant, les sorties de Get-Item et de Get-ChildItem sont identiques. Pour faire référence à une variable d'environnement, tapez le nom de lecteur Env:, suivi du nom de la variable. Par exemple, pour afficher la valeur de la variable d'environnement COMPUTERNAME, tapez : get-childitem env:computername Pour afficher les valeurs de toutes les variables d'environnement, tapez : get-childitem env: Par défaut, Windows PowerShell affiche les variables d'environnement dans l'ordre selon lequel elles sont récupérées. Pour trier la liste des variables d'environnement par nom de variable, dirigez la sortie d'une commande Get-ChildItem vers l'applet de commande Sort-Object. Par exemple, de n'importe quel lecteur Windows PowerShell, tapez : get-childitem env: | sort name Vous pouvez également accéder au lecteur Env: au moyen de l'applet de commande Set-Location : set-location env: Si vous vous trouvez sur le lecteur Env:, vous pouvez omettre le nom du lecteur dans le chemin d'accès. Par exemple, pour afficher toutes les variables d'environnement, tapez : get-childitem Pour afficher la valeur de la variable COMPUTERNAME à partir du lecteur Env:, tapez : get-childitem computername Vous pouvez également afficher et modifier les valeurs de variables d'environnement sans recourir à une applet de commande, en utilisant l'analyseur d'expression de Windows PowerShell. Pour afficher la valeur d'une variable d'environnement, utilisez la syntaxe suivante : $env:<nom_variable> Par exemple, pour afficher la valeur de la variable d'environnement WINDIR, tapez la commande suivante à l'invite de commandes de Windows PowerShell : $env:windir Dans cette syntaxe, le symbole dollar ($) indique une variable et le nom de lecteur indique une variable d'environnement. Modification des variables d'environnement Pour modifier de façon permanente une variable d'environnement, utilisez l'option Système du Panneau de configuration (onglet Avancé ou élément Paramètres système avancés) afin de stocker la modification dans le Registre. Lorsque vous modifiez des variables d'environnement dans Windows PowerShell, les modifications affectent uniquement la session active. Ce comportement ressemble à celui de la commande Set dans les environnements Windows et à celui de la commande Setenv dans les environnements UNIX. Vous devez également avoir l'autorisation de modifier les valeurs des variables. Si vous tentez de modifier une valeur sans disposer des autorisations nécessaires, la commande échoue et Windows PowerShell affiche une erreur. Vous pouvez modifier les valeurs des variables sans recourir à une applet de commande, en utilisant la syntaxe suivante : $env:<nom_variable> = "<nouvelle_valeur>" Par exemple, pour ajouter ";c:\temp" à la valeur de la variable d'environnement Path, utilisez la syntaxe suivante : $env:path = $env:path + ";c:\temp" Vous pouvez également employer les applets de commande Item, telles que Set-Item, Remove-Item et Copy-Item, pour modifier les valeurs des variables d'environnement. Par exemple, pour ajouter ";c:\temp" à la valeur de la variable d'environnement Path au moyen de l'applet de commande Set-Item , utilisez la syntaxe suivante : set-item -path env:path -value ($env:path + ";c:\temp") Dans cette commande, la valeur figure entre parenthèses pour permettre son interprétation en tant qu'unité. Enregistrement des modifications apportées aux variables d'environnement Pour créer ou modifier la valeur d'une variable d'environnement dans chaque session Windows PowerShell, ajoutez la modification à votre profil Windows PowerShell. Par exemple, pour ajouter le répertoire C:\Temp à la variable d'environnement Path dans chaque session Windows PowerShell, ajoutez la commande suivante à votre profil Windows PowerShell. $env:path = $env:path + ";c:\temp" Pour ajouter la commande à un profil existant, tel que le profil CurrentUserAllHosts, tapez : add-content -path $profile.CurrentUserAllHosts -value '$env:path = $env:path + ";c:\temp"' Variables d'environnement stockant les préférences Les fonctionnalités Windows PowerShell peuvent utiliser des variables d'environnement pour stocker des préférences utilisateur. Ces variables fonctionnent comme des variables de préférence, mais sont héritées par les sessions enfants des sessions dans lesquelles elles sont créées. Pour plus d'informations sur les variables de préférence, consultez about_preference_variables. Les variables d'environnement stockant les préférences incluent les suivantes : PSModulePath Stocke les chemins d'accès aux répertoires de module par défaut. Windows PowerShell recherche les modules dans les répertoires indiqués si vous ne spécifiez pas de chemin d'accès complet à un module. La valeur par défaut de la variable $env:PSModulePath est la suivante : $home\Documents\WindowsPowerShell\Modules; $pshome\Modules Windows PowerShell définit la valeur de " $pshome\Modules " dans le Registre. Il définit la valeur de " $home\Documents\WindowsPowerShell\Modules " à chaque démarrage de Windows PowerShell. En outre, les programmes d'installation qui installent des modules dans d'autres répertoires, tels que le répertoire Program Files, ajoutent leur emplacement à la valeur de PSModulePath. Pour changer les répertoires de module par défaut, modifiez la valeur de la variable d'environnement PSModulePath. Par exemple, pour ajouter le répertoire " C:\ps-test\Modul es " à la valeur de la variable d'environnement PSModulePath, tapez : $env:PSModulePath = $env:PSModulePath + ";c:\ps-test\Modules" Le point-virgule (;) présent dans la commande sépare le nouveau chemin d'accès de celui qui le précède dans la liste. Vos modifications affectent uniquement la session active à moins que vous n'ajoutiez une commande qui modifie la valeur dans votre profil ou que vous n'utilisiez l'option Système du Panneau de configuration pour changer la valeur de la variable d'environnement PSModulePath dans le Registre. Pour plus d'informations, consultez about_Modules. VOIR AUSSI Environment (fournisseur)