Il est assez facile de manier les variables d'environnement avec Powershell. Pour cela, plusieurs méthodes existent, permettant d'en créer des temporaires (à comprendre, qui disparaitront avec la session Powershell) ou des permanentes.

De manière générale...

Dans Powershell, une variable nommée $Env existe. Elle comporte l'intégralité des variables d'environnement actuellement en mémoire. En vous servant d'intellisense, vous pouvez voir leurs noms.

env

Et en vous servant de la commande Get-Childitem env: vous pouvez lister l'intégralité des valeurs.

env2

Créer / modifier des variables d'environnement temporaires

Pour créer une variable d'environnement de manière temporaire, vous pouvez ajouter une sous variable à $Env:

$env:blog = "Le Blog de Nicolas Lang"

Ce qui créera une variable d'environnement temporaire, qui disparaitra avec la session Powershell.

env3

Le fait de créer une variable déja existante va modifier l'ancienne variable, permettant de changer une valeur.

Créer / modifier des variables d'environnement permanentes

Là, nous allons passer par .Net.

[Environment]::SetEnvironmentVariable("Nom","Valeur","User")

Cette commande crée une variable d'environnement nommée "Nom", avec comme valeur "Valeur". Ici il est précisé qu'elle est de type "user" (crée une variable au niveau utilisateur). Deux autres types sont disponibles : "Machine" et "Process". Si une variable d'environnement "nom" existe déja, la commande va simplement modifier sa valeur, sans en créer une nouvelle.

Supprimer des variables d'environnement

Il suffit d'enregistrer une valeur nulle sur une variable pour la supprimer.

[Environment]::SetEnvironmentVariable("TestVariable",$null,"User")

La variable existera toujours jusqu'au prochain redémarrage, puis disparaitra.

Ajouter un commentaire

Article précédent Article suivant