Comment définir des variables d'environnement en utilisant PowerShell
- Qu’est-ce que les variables d’environnement
-
Définir une variable d’environnement avec
Env:
dans PowerShell -
Définir la classe
[System.Environment]
.NET dans PowerShell - Actualiser les variables d’environnement dans la session PowerShell actuelle
- Conclusion

L’utilisation de Windows PowerShell pour définir des variables d’environnement Windows, lire des variables d’environnement et créer de nouvelles variables d’environnement est facile une fois que nous connaissons l’exécution appropriée des commandes.
PowerShell propose de nombreuses méthodes différentes pour interagir avec les variables d’environnement Windows à partir du PSDrive $env:
et de la classe .NET [System.Environment]
. Cet article discutera de la définition des variables d’environnement et de leur actualisation dans notre session actuelle à l’aide de PowerShell.
Qu’est-ce que les variables d’environnement
Comme son nom l’indique, les variables d’environnement stockent des informations sur les environnements Windows et des applications.
Nous pouvons accéder aux variables d’environnement via une interface graphique telle que l’Explorateur Windows et des éditeurs de texte simples comme Notepad
, cmd.exe
et PowerShell.
Utiliser des variables d’environnement nous aide à éviter de coder en dur des chemins de fichiers, des noms d’utilisateur ou d’ordinateur, et plus encore dans nos scripts ou modules PowerShell.
Définir une variable d’environnement avec Env:
dans PowerShell
Nous pouvons créer de nouvelles variables d’environnement avec PowerShell en utilisant la cmdlet New-Item
. Mais, d’abord, fournissez le nom de la variable d’environnement dans le format Env:\<EnvVarName>
pour le paramètre Value
, comme montré ci-dessous.
Exemple de code :
New-Item -Path Env:\TEST -Value WIN10-DESKTOP
Nous utilisons la cmdlet PowerShell New-Item
pour créer ou mettre à jour une variable d’environnement nommée TEST
dans l’espace de noms Env:\
. En spécifiant -Value WIN10-DESKTOP
, nous assignons la valeur WIN10-DESKTOP
à cette variable.
Cette action a un impact sur la session PowerShell actuelle, rendant la variable d’environnement TEST
accessible à d’autres scripts et commandes au sein de la session.
Sortie :
Nous pouvons utiliser la cmdlet Set-Item
pour définir une variable d’environnement ou en créer une nouvelle si elle n’existe pas déjà. Par exemple, nous pouvons voir ci-dessous l’utilisation de la cmdlet Set-Item
.
Nous pouvons à la fois créer ou modifier une variable d’environnement.
Exemple de code :
Set-Item -Path Env:TEST -Value "TestValue"
Nous utilisons la cmdlet PowerShell Set-Item
pour modifier la valeur d’une variable d’environnement existante nommée TEST
dans l’espace de noms Env:\
. En spécifiant -Value "TestValue"
, nous assignons la chaîne "TestValue"
à la variable d’environnement TEST
.
Cette action affecte directement la session PowerShell actuelle, mettant à jour la valeur de TEST
pour être utilisée par d’autres scripts et commandes au sein de la session.
Sortie :
Définir la classe [System.Environment]
.NET dans PowerShell
La classe [System.Environment]
utilisera quelques méthodes différentes de classe statique .NET. Nous n’avons pas besoin de comprendre ce qu’est une manière statique.
Nous n’avons besoin de comprendre que comment utiliser n’importe laquelle des techniques que nous sommes sur le point d’apprendre, et nous devrons d’abord référencer la classe ([System.Environment]
) suivie de deux doubles points (::
), puis suivis de la méthode.
Pour définir la variable d’environnement en utilisant la classe .NET déclarée, utilisez la fonction SetEnvironmentVariable()
pour définir la valeur d’une variable d’environnement existante pour l’espace de portée donné ou créer une nouvelle variable d’environnement si elle n’existe pas déjà.
Lors de la définition de variables dans l’espace de portée du processus, nous constaterons que l’espace de portée du processus est volatile et existe dans la session actuelle, tandis que les modifications des espaces de portée utilisateur et machine sont permanentes.
Exemple de code :
[System.Environment]::SetEnvironmentVariable('TestVariable', 'TestValue', 'User')
Nous utilisons la méthode .NET [System.Environment]::SetEnvironmentVariable()
pour définir une variable d’environnement nommée TestVariable
avec la valeur 'TestValue'
dans l’environnement spécifique à l’utilisateur. En spécifiant 'User'
comme troisième paramètre, nous veillons à ce que cette variable soit définie dans le contexte de l’environnement de l’utilisateur.
Cette action impacte les paramètres d’environnement pour l’utilisateur actuel, permettant à d’autres scripts et applications d’accéder à TestVariable
avec sa valeur assignée.
Actualiser les variables d’environnement dans la session PowerShell actuelle
Pour utiliser notre nouvel ensemble de variables d’environnement dans notre session PowerShell, obtenez la variable d’environnement du profil utilisateur et de la machine via la classe .NET et assignez-la à la variable d’environnement PowerShell.
Puisque les variables d’environnement sont également considérées comme des variables PowerShell, nous pouvons leur assigner des valeurs directement de manière plus simple.
Exemple de code :
$env:PATH = [System.Environment]::GetEnvironmentVariable("Path", "Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path", "User")
Nous mettons à jour la variable d’environnement $env:PATH
en concaténant les valeurs des variables d’environnement Path
système et utilisateur récupérées à l’aide de [System.Environment]::GetEnvironmentVariable()
. Nous récupérons d’abord la variable Path
système en utilisant le paramètre "Machine"
, puis nous ajoutons la variable Path
utilisateur récupérée en utilisant le paramètre "User"
.
En combinant ces valeurs avec un séparateur de point-virgule, nous veillons à ce que les deux ensembles de chemins soient inclus dans le $env:PATH
mis à jour.
Sortie :
Conclusion
Dans cet article, nous avons exploré diverses méthodes pour gérer les variables d’environnement dans PowerShell, en nous concentrant sur la définition et l’actualisation de celles-ci en utilisant différentes techniques. Nous avons commencé par démontrer comment créer ou modifier des variables d’environnement à l’aide de cmdlets PowerShell comme New-Item
et Set-Item
, fournissant des exemples clairs et des explications pour chaque étape.
Ensuite, nous avons approfondi l’utilisation de la classe .NET [System.Environment]
pour manipuler les variables d’environnement. Grâce à la méthode SetEnvironmentVariable()
, nous avons appris comment définir des variables avec des espaces de portée spécifiques, comprenant les implications de chaque espace sur la persistance des variables.
Enfin, nous avons couvert l’importance d’actualiser les variables d’environnement dans la session PowerShell actuelle, en soulignant l’utilisation de [System.Environment]::GetEnvironmentVariable()
pour mettre à jour les variables dynamiquement.
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn