PowerShell을 사용하여 환경 변수 설정

Marion Paul Kenneth Mendoza 2023년6월21일
  1. 환경 변수란?
  2. PowerShell에서 Env:를 사용하여 환경 변수 설정
  3. PowerShell에서 [System.Environment] .NET 클래스 설정
  4. 현재 PowerShell 세션에서 환경 변수 새로 고침
PowerShell을 사용하여 환경 변수 설정

Windows PowerShell을 사용하여 Windows 환경 변수를 설정하고, 환경 변수를 읽고, 새 환경 변수를 만드는 것은 명령의 적절한 실행을 알고 나면 쉽습니다.

PowerShell은 $env: PSDrive 및 [System.Environment] .NET 클래스에서 Windows 환경 변수와 상호 작용하는 다양한 방법을 제공합니다. 이 문서에서는 PowerShell을 사용하여 현재 세션에서 환경 변수를 설정하고 새로 고치는 방법에 대해 설명합니다.

환경 변수란?

이름에서 알 수 있듯이 환경 변수는 Windows 및 응용 프로그램 환경에 대한 정보를 저장합니다.

Windows 탐색기와 같은 그래픽 인터페이스와 메모장, cmd.exe 및 PowerShell과 같은 일반 텍스트 편집기를 통해 환경 변수에 액세스할 수 있습니다.

환경 변수를 사용하면 PowerShell 스크립트 또는 모듈에서 파일 경로, 사용자 또는 컴퓨터 이름 등을 하드 코딩하는 것을 방지할 수 있습니다.

PowerShell에서 Env:를 사용하여 환경 변수 설정

New-Item cmdlet을 사용하여 PowerShell로 새 환경 변수를 만들 수 있습니다. 그러나 먼저 아래와 같이 Value 매개변수에 Env:\<EnvVarName> 형식으로 환경 변수의 이름을 제공하십시오.

예제 코드:

New-Item -Path Env:\TEST -Value WIN10-DESKTOP

출력:

Name                           Value
----                           -----
TEST                           WIN10-DESKTOP

Set-Item cmdlet을 사용하여 환경 변수를 설정하거나 아직 존재하지 않는 경우 새 환경 변수를 만들 수 있습니다. 예를 들어 Set-Item cmdlet을 사용하여 아래에서 볼 수 있습니다.

환경 변수를 만들거나 수정할 수 있습니다.

예제 코드:

Set-Item -Path Env:TEST -Value "TestValue"

PowerShell에서 [System.Environment] .NET 클래스 설정

[System.Environment]는 몇 가지 다른 .NET 정적 클래스 메서드를 사용합니다. 정적 방식이 무엇인지 이해할 필요가 없습니다.

우리는 배우려는 기술을 사용하기 위해 이해만 하면 되며, 먼저 클래스([System.Environment])를 참조한 다음 두 개의 콜론(::)을 참조한 다음 메소드를 참조해야 합니다. .

명시된 .NET 클래스를 사용하여 환경 변수를 설정하려면 SetEnvironmentVariable() 함수를 사용하여 주어진 범위에 대한 기존 환경 변수의 값을 설정하거나 아직 존재하지 않는 경우 새 환경 변수를 생성합니다.

프로세스 범위에서 변수를 설정할 때 프로세스 범위가 일시적이고 현재 세션에 존재하는 반면 사용자 및 시스템 범위에 대한 변경 사항은 영구적임을 알 수 있습니다.

예제 코드:

[System.Environment]::SetEnvironmentVariable('TestVariable','TestValue','User')

현재 PowerShell 세션에서 환경 변수 새로 고침

PowerShell 세션에서 새로운 환경 변수 집합을 사용하려면 .NET 클래스를 통해 사용자 프로필 및 시스템의 환경 변수를 가져와 PowerShell 환경 변수에 할당합니다.

환경 변수도 PowerShell 변수로 간주되기 때문에 보다 직접적으로 값을 직접 할당할 수 있습니다.

예제 코드:

$env:PATH = [System.Environment]::GetEnvironmentVariable("Path","Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path","User")
Marion Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn