web-dev-qa-db-fra.com

Afficher toutes les variables d'environnement d'un script PowerShell en cours d'exécution

Je dois afficher toutes les variables d'environnement configurées dans un script PowerShell au moment de l'exécution. Normalement, lors de l'affichage des variables d'environnement, je ne peux utiliser que l'un des éléments suivants du shell (entre autres techniques, mais celles-ci sont simples):

gci env:*
ls Env:

Cependant, un script est appelé depuis un autre programme et lorsque j'utilise l'un des appels ci-dessus dans le script, au lieu d'être présenté avec les variables d'environnement et leurs valeurs, j'obtiens plutôt une liste de types System.Collections.DictionaryEntry au lieu de les variables et leurs valeurs. Dans un script PowerShell, comment puis-je afficher toutes les variables d'environnement?

76
Bender the Greatest

Version plus courte:

gci env:* | sort-object name

Cela affichera le nom et la valeur.

112
jmjarri

Version la plus courte (avec des variables triées par nom):

gci env:
20
Vlad Rudenko

J'ai finalement trouvé une solution en parcourant chaque entrée du dictionnaire:

(gci env:*).GetEnumerator() | Sort-Object Name | Out-String
13
Bender the Greatest

Version courte avec un joker filtre:

gci env: | where name -like 'Pro*'
2
Emil