실행중인 PowerShell 스크립트에서 모든 환경 변수 표시


104

런타임에 PowerShell 스크립트에 구성된 모든 환경 변수를 표시해야합니다. 일반적으로 환경 변수를 표시 할 때 쉘에서 다음 중 하나를 사용할 수 있습니다 (다른 기술 중에서도 간단하지만 간단합니다).

gci env:*
ls Env:

그러나 다른 프로그램에서 호출되는 스크립트가 있으며 스크립트에서 위의 호출 중 하나를 사용하면 환경 변수와 해당 값이 표시되는 대신 변수와 해당 값 대신 System.Collections.DictionaryEntry유형 목록이 표시 됩니다. . PowerShell 스크립트 내에서 모든 환경 변수를 표시하려면 어떻게해야합니까?

답변:


156

더 짧은 버전 :

gci env:* | sort-object name

이름과 값이 모두 표시됩니다.


1
왜 그렇게 작동하는지, 명령이 어떻게 수정하는지 설명해 주시겠습니까?
David Ferenczy Rogožan

3
env너무 쉬웠 기 때문에 그것은 진보의 신호입니다 . 젠장 M $ 사람들.
matcheek


14

마침내 사전의 각 항목을 반복하여 해결책을 찾았습니다.

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

나를 위해 Linux에서 실행되지 않습니다. 당신은 누락 gci하위 항목을 얻을?
Thufir

powershell 코어에서 이것을 시도하지 않았지만 gci가 내 대답에 있습니다. 이 질문은 [powershell-core]가 아니라 [powershell]에 대한 것이므로 솔루션이 후자에 대해 작동하지 않을 수 있습니다.
Bender the Greatest

7

와일드 카드 필터 가있는 짧은 버전 :

gci env: | where name -like 'Pro*'
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.