Comment définir des variables d'environnement en utilisant PowerShell

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

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 :

rafraîchir les variables d&rsquo;environnement powershell - sortie 1

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 :

rafraîchir les variables d&rsquo;environnement powershell - sortie 2

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 :

rafraîchir les variables d&rsquo;environnement PowerShell - sortie 3

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.

Vous aimez nos tutoriels ? Abonnez-vous à DelftStack sur YouTube pour nous aider à créer davantage de tutoriels vidéo de haute qualité. Abonnez-vous
Marion Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn

Article connexe - PowerShell Environment Variables