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)