환경 공급자

업데이트 날짜: 2014년 10월

적용 대상: Windows PowerShell 4.0, Windows PowerShell 5.0

공급자 이름

환경

드라이브

Env:

간단한 설명

Windows 환경 변수에 액세스할 수 있도록 합니다.

자세한 설명

Windows PowerShell 환경 공급자를 통해 Windows PowerShell에서 Windows 환경 변수를 가져오고 추가, 변경 및 삭제할 수 있습니다.

환경 공급자는 환경 변수를 나타내는 개체만 포함된 단일 구조 네임스페이스입니다. 변수에는 하위 항목이 없습니다.

각 환경 변수는 System.Collections.DictionaryEntry 클래스의 인스턴스입니다. 변수 이름은 사전 키입니다. 환경 변수 값은 사전 값입니다.

환경 공급자는 Env: 드라이브에 해당 데이터 저장소를 표시합니다. 환경 변수를 사용하려면 위치를 Env: 드라이브("set-location env:")로 변경하거나 다른 Windows PowerShell 드라이브에서 작업합니다. 다른 위치에서 환경 변수를 참조하려면 경로에 Env: 드라이브 이름을 사용합니다.

환경 변수 공급자는 Invoke-Item을 제외하고 Item 명사가 포함된 모든 cmdlet을 지원합니다. 또한 Get-ContentSet-Content cmdlet을 지원합니다. 그러나 ItemProperty 명사가 포함된 cmdlet은 지원하지 않으며 모든 cmdlet에서 Filter 매개 변수를 지원하지 않습니다.

환경 변수는 일반적인 명명 표준을 따라야 합니다. 또한 이름에 등호(=)를 사용할 수 없습니다.

환경 변수에 대한 변경 내용은 현재 세션에만 영향을 줍니다. 변경 내용을 저장하려면 Windows PowerShell 프로필에 변경 내용을 추가하거나 Export-Console을 사용하여 현재 세션을 저장합니다.

기능

ShouldProcess

예제

Env: 드라이브로 이동

-------------------------- 예제 1 --------------------------

이 명령은 현재 위치를 Env: 드라이브로 변경합니다.

set-location env:

Windows PowerShell의 모든 드라이브에서 이 명령을 사용할 수 있습니다. 파일 시스템 드라이브로 돌아가려면 드라이브 이름을 입력합니다. 예를 들어 set-location c:와 같이 입력하세요.

환경 변수 가져오기

-------------------------- 예제 1 --------------------------

이 명령은 현재 세션의 모든 환경 변수를 나열합니다.

get-childitem -path env:

모든 Windows PowerShell 드라이브에서 이 명령을 사용할 수 있습니다.

-------------------------- 예제 2 --------------------------

이 명령은 WINDIR 환경 변수를 가져옵니다.

get-childitem -path env:windir

-------------------------- 예제 3 --------------------------

이 명령은 현재 세션의 모든 환경 변수 목록을 가져와서 이름순으로 정렬합니다.

get-childitem  | sort-object -property name

기본적으로 환경 변수는 Windows PowerShell에서 검색한 순서대로 나타납니다. 이 명령은 Env: 드라이브에서 전송됩니다. 다른 드라이브에서 이 명령을 실행할 경우 값이 "Env:"인 Path 매개 변수를 추가하세요.

새 환경 변수 만들기

-------------------------- 예제 1 --------------------------

이 명령은 값이 Non-Admin인 USERMODE 환경 변수를 만듭니다.

new-item -path . -name USERMODE -value Non-Admin

현재 위치가 Env: 드라이브이므로 Path 매개 변수의 값은 점(.)입니다. 점은 현재 위치를 나타냅니다. 현재 위치가 Env: 드라이브가 아닌 경우 Path 매개 변수의 값은 Env:입니다.

환경 변수의 속성 및 메서드 표시

-------------------------- 예제 1 --------------------------

이 명령은 Get-ChildItem cmdlet을 사용하여 모든 환경 변수를 가져옵니다.

get-childitem -path env: | get-member

파이프라인 연산자(|)는 결과를 Get-Member로 보냅니다. Get-Member는 개체의 메서드 및 속성을 표시합니다. Env: 드라이브의 환경 변수 컬렉션과 같은 개체 컬렉션을 Get-Member로 파이프하면 Get-Member는 컬렉션의 각 개체를 개별적으로 평가합니다. 그런 다음 Get-Member는 찾은 각 개체 형식에 대한 정보를 반환합니다. 모든 개체가 같은 유형이면 단일 개체 형식에 대한 정보를 반환합니다. 이 경우 모든 환경 변수가 DictionaryEntry 개체입니다. DictionaryEntry 개체 컬렉션에 대한 정보를 가져오려면 Get-Member의 InputObject 매개 변수를 사용합니다. 예를 들어 get-member -inputobject (get-childitem env:)를 입력합니다. InputObject 매개 변수를 사용하는 경우 Get-Member는 컬렉션의 개체가 아니라 컬렉션 자체를 평가합니다.

-------------------------- 예제 2 --------------------------

이 명령은 WINDIR 환경 변수의 속성 값을 나열합니다.

get-item env:windir | format-list -property *

또한 Get-Item cmdlet을 사용하여 WINDIR 환경 변수를 나타내는 개체를 가져옵니다. 파이프라인 연산자(|)는 결과를 Format-List 명령으로 보냅니다. 이 명령은 와일드카드 문자(*)와 함께 Property 매개 변수를 사용하여 WINDIR 환경 변수의 모든 속성 값을 표시하고 형식을 지정합니다.

환경 변수의 속성 변경

-------------------------- 예제 1 --------------------------

이 명령은 Rename-Item cmdlet을 사용하여 만들어진 USERMODE 환경 변수의 이름을 USERROLE로 변경합니다.

rename-item -path env:USERMODE -newname USERROLE

이러한 변경은 DictionaryEntry 개체의 Name, Key 및 PSPath 속성에 영향을 줍니다. 시스템에서 사용하는 환경 변수의 이름을 변경하지 마세요. 이러한 변경 내용은 현재 세션에만 영향을 주지만 이로 인해 시스템 또는 프로그램이 제대로 작동하지 않을 수도 있습니다.

-------------------------- 예제 2 --------------------------

이 명령은 Set-Item cmdlet을 사용하여 USERROLE 환경 변수의 값을 Administrator로 변경합니다.

set-item -path env:USERROLE -value Administrator

환경 변수 복사

-------------------------- 예제 1 --------------------------

이 명령은 USERROLE 환경 변수의 값을 USERROLE2 환경 변수로 복사합니다.

copy-item -path env:USERROLE -destination env:USERROLE2

환경 변수 삭제

-------------------------- 예제 1 --------------------------

이 명령은 현재 세션에서 USERROLE2 환경 변수를 삭제합니다.

remove-item -path env:USERROLE2

모든 Windows PowerShell 드라이브에서 이 명령을 사용할 수 있습니다. 현재 위치가 Env: 드라이브인 경우 경로에서 드라이브 이름을 생략할 수 있습니다.

-------------------------- 예제 2 --------------------------

이 명령은 USERROLE 환경 변수를 삭제합니다.

clear-item -path env:USERROLE

See Also

Other Resources

about_Providers

커뮤니티 추가 항목

추가
표시: