显示正在运行的PowerShell脚本中的所有环境变量

时间:2016-09-30 21:41:32

标签: powershell environment-variables

我需要在运行时在PowerShell脚本中显示所有已配置的环境变量。通常在显示环境变量时,我可以在shell中使用以下其中一种(除了其他技术,但这些很简单):

gci env:*
ls Env:

但是,我从另一个程序调用了一个脚本,当我在脚本中使用上述调用之一时,而不是显示环境变量及其值,而是获取System.Collections.DictionaryEntry的列表类型而不是变量及其值。在PowerShell脚本中,如何显示所有环境变量?

5 个答案:

答案 0 :(得分:93)

更短的版本:

gci env:* | sort-object name

这将显示名称和值。

答案 1 :(得分:19)

最短版本(变量按名称排序):

gci env:

答案 2 :(得分:13)

我终于通过遍历字典中的每个条目来摸索我的方式:

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

答案 3 :(得分:1)

我认为所提供的答案均与问题无关。 OP正在获取对象类型的列表(每个成员都相同),而不是实际的变量名称和值。 这就是您所追求的:

gci env:* | select Name,Value

简称:

Get-ChildItem Env:* | Select-Object -Property Name,Value

答案 4 :(得分:0)

  

带有通配符过滤器的简短版本:

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