항목
    about_Environment_Variables

간단한 설명
    Windows PowerShell에서 Windows 환경 변수에 액세스하는 방법에 대해 설명합니다. 
    

자세한 설명
    환경 변수에는 운영 체제 환경에 대한 정보가 저장됩니다. 이러한 정보에는 운영 체제 경로, 운영 체제에서  
    사용하는 프로세서 수 및 임시 폴더 위치와 같은 상세 정보가 포함됩니다. 

    환경 변수에는 운영 체제와 기타 프로그램에서 사용하는 데이터가 저장됩니다. 예를 들어 WINDIR 환경 변수에는 
    Windows 설치 디렉터리의 위치가 포함됩니다. 프로그램은 이 변수의 값을 쿼리하여 Windows 운영 체제 파일의 
    위치를 확인할 수 있습니다.

    Windows PowerShell에서는 레지스트리에 설정된 변수와 특정 세션에 대해 설정된 변수 등의 Windows 
    환경 변수를 보고 변경할 수 있습니다. Windows PowerShell 환경 공급자를 사용하면 환경 변수를 쉽게 
    보고 변경할 수 있으므로 이 프로세스가 간단해집니다.
    
    Windows PowerShell에 있는 다른 유형의 변수와 달리 환경 변수 및 해당 값은 하위 세션(예: 로컬 
    백그라운드 작업 및 모듈 멤버가 실행되는 세션)에서 상속합니다. 따라서 환경 변수는 상위 세션과 하위 세션에  
    모두 필요한 값을 저장하는 데 적합합니다.
   

  Windows Powershell 환경 공급자
      Windows PowerShell 환경 공급자를 사용하면 Windows PowerShell 드라이브(Env: 
      드라이브)에서 Windows PowerShell의 Windows 환경 변수에 액세스할 수 있습니다. 이 드라이브는 
      파일 시스템 드라이브와 매우 비슷합니다. Env: 드라이브로 이동하려면 다음과 같이 입력하십시오.


	  set-location env:


      그런 다음 Env: 드라이브의 내용을 표시하려면 다음과 같이 입력하십시오.


	  get-childitem


      다른 Windows PowerShell 드라이브에서도 Env: 드라이브의 환경 변수를 볼 수 있으며 Env: 
      드라이브로 이동하여 환경 변수를 보고 변경할 수 있습니다.


  환경 변수 개체  
      Windows PowerShell에서는 각 환경 변수가 System.Collections.DictionaryEntr
      y 클래스의 인스턴스인 개체로 표시됩니다.

	
      각 DictionaryEntry 개체에서 환경 변수의 이름은 사전 키입니다. 변수의 값은 사전 값입니다.


      Windows PowerShell에서 환경 변수를 표시하려면 변수를 나타내는 개체를 가져오고 이 개체의 속성 값을 
      표시합니다. Windows PowerShell에서 환경 변수를 변경할 경우 DictionaryEntry 개체와 
      연결된 메서드를 사용합니다.


      Windows PowerShell에서 환경 변수를 나타내는 개체의 속성과 메서드를 표시하려면 Get-Member 
      cmdlet을 사용합니다.
      예를 들어 Env: 드라이브에 있는 모든 개체의 메서드와 속성을 표시하려면 다음과 같이 입력하십시오.


	  get-item -path env:* | get-member


  환경 변수 표시
      Item 명사가 포함된 cmdlet(Item cmdlet)을 사용하여 환경 변수의 값을 표시하고 변경할 수 
      있습니다. 환경 변수에는 하위 항목이 없으므로 Get-Item과 Get-ChildItem의 출력은 동일합니다.


      환경 변수를 참조할 경우 Env: 드라이브 이름과 변수 이름을 입력합니다. 예를 들어 Computername 환경 
      변수의 값을 표시하려면 다음과 같이 입력하십시오.


	  get-childitem env:computername


      모든 환경 변수의 값을 표시하려면 다음과 같이 입력하십시오.


	  get-childitem env:


      기본적으로 Windows PowerShell에서는 검색되는 순서로 환경 변수를 표시합니다. 변수 이름별로 환경 변수 목록을 
      정렬하려면 Get-ChildItem 명령의 출력을 Sort-Object cmdlet으로 파이프합니다. 예를 들어 Windows PowerShell 
      드라이브에서 다음과 같이 입력하십시오.


	  get-childitem env: | sort name


      Set-Location cmdlet을 사용하여 Env: 드라이브로 이동할 수도 있습니다.


	  set-location env:


      Env: 드라이브에 있는 경우 경로에서 Env: 드라이브 이름을 생략할 수 있습니다. 예를 들어 환경 변수를 모두 
      표시하려면 다음과 같이 입력하십시오.


	  get-childitem


      Env: 드라이브 내에서 COMPUTERNAME 변수의 값을 표시하려면 다음과 같이 입력하십시오.


	  get-childitem computername


      또한 Windows PowerShell에서 식 파서를 사용하면 cmdlet을 사용하지 않고도 환경 변수의 값을 
      표시하고 변경할 수 있습니다. 환경 변수의 값을 표시하려면 다음 구문을 사용합니다.


	  $env:<variable-name>


      예를 들어 WINDIR 환경 변수의 값을 표시하려면 Windows PowerShell 명령 프롬프트에서 다음 
      명령을 입력하십시오.


	  $env:windir


      이 구문에서 달러 기호($)는 변수를 나타내고 드라이브 이름은 환경 변수를 나타냅니다.


  환경 변수 변경
      환경 변수를 영구적으로 변경하려면 제어판의 시스템(고급 탭 또는 고급 시스템 설정 항목)을 사용하여  
      레지스트리에 변경 내용을 저장합니다.

      Windows PowerShell에서 환경 변수를 변경하면 현재 세션에만 변경 내용이 적용됩니다. 이 동작은 
      Windows 기반 환경의 Set 명령 및 UNIX 기반 환경의 Setenv 명령의 동작과 비슷합니다. 

      또한 변수의 값을 변경할 수 있는 권한을 가지고 있어야 합니다. 충분한 권한 없이 값을 변경하려고 하면  
      명령이 실패하고 오류 메시지가 나타납니다.

      다음 구문을 사용하면 cmdlet을 사용하지 않고도 변수의 값을 변경할 수 있습니다.


          $env:<variable-name> = "<new-value>"


      예를 들어 Path 환경 변수의 값에 ";c:\temp"를 추가하려면 다음 구문을 사용합니다.


	  $env:path = $env:path + ";c:\temp"
	

      Set-Item, Remove-Item, Copy-Item 등의 Item cmdlet을 사용하여 환경 변수의 값을 
      변경할 수도 있습니다. 예를 들어 Set-Item cmdlet을 사용하여 Path 환경 변수의 값에 
      ";c:\temp"를 추가하려면 다음 구문을 사용합니다.


          set-item -path env:path -value ($env:path + ";c:\temp")

	
      이 명령에서는 값이 단위로 해석되도록 괄호로 묶여 있습니다.


  환경 변수에 변경 내용 저장
      모든 Windows PowerShell 세션에서 환경 변수의 값을 만들거나 변경하려면 Windows 
      PowerShell 프로필에 변경 내용을 추가합니다.

      예를 들어 Windows PowerShell 세션에서 Path 환경 변수에 C:\Temp 디렉터리를 추가하려면 
      Windows PowerShell 프로필에 다음 명령을 추가합니다.

	  $env:path = $env:path + ";c:\temp"

      CurrentUser,AllHosts profile과 같은 기존 프로필에 명령을 추가하려면 다음과 같이 입력하십시오.

	  add-content -path $profile.CurrentUserAllHosts -value '$env:path = 
	  $env:path + ";c:\temp"' 

  기본 설정을 저장하는 환경 변수
      Windows PowerShell 기능은 환경 변수를 사용하여 사용자 기본 설정을 저장할 수 있습니다. 이 변수는 
      기본 설정 변수와 같이 작동하지만 변수가 만들어진 세션의 하위 세션에 상속됩니다. 기본 설정 변수에  
      대한 자세한 내용은 about_preference_variables를 참조하십시오.

      기본 설정을 저장하는 환경 변수는 다음과 같습니다.

        PSModulePath
            기본 모듈 디렉터리의 경로를 저장합니다. 모듈의 전체 경로를 지정하지 않으면 Windows 
            PowerShell은 지정된 디렉터리에서 모듈을 찾습니다.

            $env:PSModulePath의 기본값은 다음과 같습니다.

                $home\Documents\WindowsPowerShell\Modules; $pshome\Modules 

            Windows PowerShell은 레지스트리에 "$pshome\Modules"의 값을 설정합니다.
            Windows PowerShell을 시작할 때마다 "$home\Documents\WindowsPowerS
            hell\Modules"의 값이 설정됩니다. 

            또한 Program Files 디렉터리 등의 다른 디렉터리에 모듈을 설치하는 설치 프로그램은 
            PSModulePath 값에 해당 위치를 추가합니다. 

            기본 모듈 디렉터리를 변경하려면 PSModulePath 환경 변수의 값을 변경합니다.

            예를 들어 "C:\ps-test\Modules" 디렉터리를 PSModulePath 환경 변수의 값에 
            추가하려면 다음과 같이 입력하십시오.

                $env:PSModulePath = $env:PSModulePath + ";c:\ps-test\Modules"

            명령에서 세미콜론(;)을 사용하여 목록에서 새 경로와 새 경로 앞의 경로를 구분합니다.

            값을 변경하는 명령을 프로필에 추가하거나 제어판의 시스템을 사용하여 레지스트리에서  
            PSModulePath 환경 변수의 값을 변경하지 않으면 변경 내용은 현재 세션에만 영향을 줍니다.
            
            자세한 내용은 about_Modules를 참조하십시오.


참고 항목
    Environment(공급자)




목차