Отображение всех переменных среды из запущенного скрипта PowerShell

Мне нужно отобразить все настроенные переменные среды в скрипте PowerShell во время выполнения. Обычно при отображении переменных среды я могу просто использовать в оболочке одно из следующих действий (среди прочих методов, но они просты):

gci env:*
ls Env:

Тем не менее, у меня есть сценарий, вызываемый из другой программы, и когда я использую один из вышеуказанных вызовов в сценарии, вместо того, чтобы быть представленными с переменными среды и их значениями, я вместо этого получаю список типов System.Collections.DictionaryEntry вместо переменные и их значения. Как отобразить все переменные среды внутри скрипта PowerShell?

Ответы

Ответ 1

Более короткая версия:

gci env:* | sort-object name

Это будет отображать как имя, так и значение.

Ответ 2

Кратчайшая версия (с переменными, отсортированными по имени):

gci env:

Ответ 3

Я наконец-то нашел свой путь в решении, перебирая каждую запись в словаре:

(gci env:*).GetEnumerator() | Sort-Object Name | Out-String

Ответ 4

Короткая версия с фильтром подстановочных знаков:

gci env: | where name -like 'home*'