stamper

Windows PowerShell에서 환경 변수 확인하고 영구 설정하기

stamper2026. 7. 21.조회 234추천 0

Windows PowerShell에서 환경 변수 확인하고 영구 설정하기

사용 상황

세션 값과 사용자 영구 값을 구분해 환경 변수를 설정하고 원래 값으로 복원합니다.

적용 환경과 권한

Windows PowerShell 5.1 기준. Windows 시스템 cmdlet은 Windows 환경이 필요합니다. 일반 사용자 권한에서 시작하고 접근 실패는 메시지로 확인합니다. PowerShell 7 호환성은 별도 실행하지 않았습니다.

명령

$variableName = 'STAMPER_DEMO_VALUE'
$previousUser = [Environment]::GetEnvironmentVariable($variableName, 'User')
$previousSession = [Environment]::GetEnvironmentVariable($variableName, 'Process')
try {
    [Environment]::SetEnvironmentVariable($variableName, 'demo', 'User')
    [Environment]::SetEnvironmentVariable($variableName, 'demo', 'Process')
    [PSCustomObject]@{
        UserValue = [Environment]::GetEnvironmentVariable($variableName, 'User')
        SessionValue = [Environment]::GetEnvironmentVariable($variableName, 'Process')
    }
} finally {
    [Environment]::SetEnvironmentVariable($variableName, $previousUser, 'User')
    [Environment]::SetEnvironmentVariable($variableName, $previousSession, 'Process')
}

경로·주소·패키지·포트는 자신의 대상에 맞게 지정합니다. 예제에 있는 기존 파일 보호 조건은 유지하세요.

출력과 해석 — 설명용

UserValue=demo / SessionValue=demo. 예제 종료 후 이전 값으로 복원됩니다.

여기 적은 출력은 설명용입니다. 실제 격리 실행 범위와 결과는 아래 검증 기록을 기준으로 판단하세요.

검수 기준

  • 현재 프로세스와 사용자 설정을 각각 확인했는가
  • finally 실행 후 이전 값이 복원됐는가

실패 시 수정과 복구

예제는 finally에서 원래 값으로 되돌립니다. 실제 영구 설정은 변경 전 값을 별도로 기록하고, 새 터미널에서 적용 여부를 확인하세요. PATH·HOME·비밀값에는 이 예제를 적용하지 않습니다. 사용자 범위에는 일반적으로 관리자 권한이 필요하지 않습니다.

검증 환경·검증일·출처

검토일: 2026-10-10.

실행 범위: 자식 PowerShell에서 임시 변수 설정·복원 검증. 실제 앱 설정은 수정하지 않음.

Microsoft 공식 문서

명령 인자 안내: LiteralPath는 경로 문자를 그대로 취급합니다. ErrorAction Stop은 처리 가능한 오류를 예외로 중단시킵니다. 조회 결과 없음과 실패는 동일하지 않습니다.

이 글이 도움이 되었나요?

댓글 0개

나

아직 댓글이 없습니다.