PowerShell을 사용하여 환경 변수를 설정하는 방법
- 환경 변수란 무엇인가
-
PowerShell에서
Env:
로 환경 변수 설정하기 -
PowerShell에서
[System.Environment]
.NET 클래스 설정하기 - 현재 PowerShell 세션에서 환경 변수 새로 고치기
- 결론

Windows PowerShell을 사용하여 Windows 환경 변수를 설정하고, 환경 변수를 읽고, 새로운 환경 변수를 만드는 것은 명령어의 올바른 실행을 알게 되면 쉽습니다.
PowerShell은 $env:
PSDrive와 [System.Environment]
.NET 클래스를 통해 Windows 환경 변수와 상호 작용하는 다양한 방법을 제공합니다. 이 기사는 PowerShell을 사용하여 환경 변수를 설정하고 현재 세션에서 이를 새로 고치는 방법에 대해 논의할 것입니다.
환경 변수란 무엇인가
이름에서 알 수 있듯이 환경 변수는 Windows 및 응용 프로그램 환경에 대한 정보를 저장합니다.
우리는 Windows 탐색기와 같은 그래픽 인터페이스 및 Notepad
, cmd.exe
, PowerShell과 같은 일반 텍스트 편집기를 통해 환경 변수에 접근할 수 있습니다.
환경 변수를 사용하면 PowerShell 스크립트나 모듈에서 파일 경로, 사용자 또는 컴퓨터 이름 등을 하드 코딩하지 않을 수 있습니다.
PowerShell에서 Env:
로 환경 변수 설정하기
PowerShell을 사용하여 New-Item
cmdlet로 새로운 환경 변수를 생성할 수 있습니다. 그러나 먼저, 아래와 같이 Value
매개변수에 대해 Env:\<EnvVarName>
형식으로 환경 변수 이름을 제공해야 합니다.
예제 코드:
New-Item -Path Env:\TEST -Value WIN10-DESKTOP
우리는 PowerShell cmdlet New-Item
을 사용하여 Env:\
네임스페이스 내에 TEST
라는 이름의 환경 변수를 생성하거나 업데이트합니다. -Value WIN10-DESKTOP
을 지정함으로써 이 변수에 값 WIN10-DESKTOP
을 할당합니다.
이 작업은 현재 PowerShell 세션에 영향을 미치며, TEST
환경 변수를 세션 내의 다른 스크립트 및 명령에서 접근 가능하도록 만듭니다.
출력:
Set-Item
cmdlet을 사용하여 환경 변수를 설정하거나 이미 존재하지 않는 경우 새로운 변수를 생성할 수 있습니다. 아래에서 Set-Item
cmdlet을 사용한 것을 확인할 수 있습니다.
우리는 환경 변수를 만들거나 수정할 수 있습니다.
예제 코드:
Set-Item -Path Env:TEST -Value "TestValue"
우리는 PowerShell cmdlet Set-Item
을 사용하여 Env:\
네임스페이스 내에 있는 기존 환경 변수 TEST
의 값을 수정합니다. -Value "TestValue"
를 지정함으로써 문자열 "TestValue"
를 TEST
환경 변수에 할당합니다.
이 작업은 현재 PowerShell 세션에 직접 영향을 미치며, 세션 내의 다른 스크립트와 명령에서 TEST
의 값을 사용하도록 업데이트합니다.
출력:
PowerShell에서 [System.Environment]
.NET 클래스 설정하기
[System.Environment]
는 몇 가지 다른 .NET 정적 클래스 메서드를 사용할 것입니다. 정적 방식이 무엇인지 이해할 필요는 없습니다.
우리는 우리가 배우고 있는 기술을 사용하는 방법만 이해하면 되며, 먼저 클래스( [System.Environment]
)를 참조한 후 두 개의 콜론(::
)을 사용하고 그 뒤에 메서드를 따라야 합니다.
주어진 범위에 대해 기존 환경 변수의 값을 설정하거나 이미 존재하지 않는 경우 새 환경 변수를 생성하는 SetEnvironmentVariable()
함수를 사용하여 .NET 클래스를 통해 환경 변수를 설정합니다.
프로세스 범위에서 변수를 설정할 때, 프로세스 범위는 휘발성이며 현재 세션에 존재하는 반면, 사용자 및 기계 범위에 대한 변경 사항은 영구적임을 알게 될 것입니다.
예제 코드:
[System.Environment]::SetEnvironmentVariable('TestVariable', 'TestValue', 'User')
우리는 .NET 메서드 [System.Environment]::SetEnvironmentVariable()
을 사용하여 사용자 특정 환경에서 값이 'TestValue'
인 TestVariable
이라는 이름의 환경 변수를 설정합니다. 세 번째 매개변수로 'User'
를 지정함으로써 이 변수가 사용자의 환경 컨텍스트 내에서 설정되도록 합니다.
이 작업은 현재 사용자의 환경 설정에 영향을 미치며, 다른 스크립트와 응용 프로그램이 할당된 값으로 TestVariable
에 접근할 수 있도록 합니다.
현재 PowerShell 세션에서 환경 변수 새로 고치기
PowerShell 세션에서 새로운 환경 변수 집합을 사용하기 위해, 사용자 프로필과 기계의 환경 변수를 .NET 클래스를 통해 가져온 다음 이를 PowerShell 환경 변수에 할당합니다.
환경 변수가 PowerShell 변수로도 간주되기 때문에, 우리는 더 간단하게 값을 직접 할당할 수 있습니다.
예제 코드:
$env:PATH = [System.Environment]::GetEnvironmentVariable("Path", "Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path", "User")
우리는 [System.Environment]::GetEnvironmentVariable()
를 사용하여 검색된 시스템 및 사용자 Path
환경 변수의 값을 연결하여 $env:PATH
환경 변수를 업데이트하고 있습니다. 먼저 "Machine"
매개변수를 사용하여 시스템 Path
변수를 검색한 다음 "User"
매개변수를 사용하여 검색된 사용자 Path
변수를 추가합니다.
세미콜론 구분자를 사용하여 이러한 값을 결합함으로써 업데이트된 $env:PATH
에 두 세트의 경로가 모두 포함되도록 합니다.
출력:
결론
이 기사에서는 PowerShell에서 환경 변수를 관리하는 다양한 방법을 탐구하며, 다양한 기술을 사용하여 이를 설정하고 새로 고치는 데 중점을 두었습니다. 우리는 New-Item
및 Set-Item
과 같은 PowerShell cmdlet을 사용하여 환경 변수를 생성하거나 수정하는 방법을 보여주며 각 단계에 대한 명확한 예제와 설명을 제공했습니다.
다음으로, 우리는 환경 변수를 조작하기 위해 [System.Environment]
.NET 클래스의 사용에 대해 파고들었습니다. SetEnvironmentVariable()
메서드를 통해 우리는 변수의 특정 범위를 설정하는 방법을 배웠으며, 각 범위가 변수 지속성에 미치는 의미를 이해했습니다.
마지막으로, 현재 PowerShell 세션 내에서 환경 변수를 새로 고치는 것의 중요성을 다루었으며, 변수의 동적 업데이트를 위해 [System.Environment]::GetEnvironmentVariable()
의 사용을 강조했습니다.
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn