로그 아웃하지 않고 사용자의 PATH 환경 변수를 수정하려면 어떻게해야합니까?


22

질문은 거의 모든 것을 말해줍니다. 자신의 PATH환경 변수 를 편집 할 수있는 권한이없는 사용자 가 있으며 어떤 이유로 든 수정해야하는 경우 PATH, 사용자가 다시 로그인하기 전에 관리자가 로그인하고이를 변경할 수 있도록 로그 아웃해야 합니다. . 이것은 이상적이지 않습니다. 더 나은 방법으로 할 수 있습니까?


궁금한 점이 있지만 사용자가 자신의 기본 환경을 변경하지 못하게하려면 어떻게해야합니까? 내 컴퓨터 / 속성 / 고급 / 환경 변수에 대한 액세스를 거부하고 있습니까? 그들은 여전히 ​​다양한 방법을 통해 HKCU / 환경을 수정할 수 있습니다.
Cooper


그룹 정책 기본 설정? 그냥 생각이야
Simon Catlin

답변:


6

관리자 권한으로 cmd 쉘을 호출하거나 다른 runas 메소드를 항상 호출 할 수 있으며 SETX 와 같은 도구를 사용 하여 경로를 영구적으로 수정할 수 있습니다. 기존 쉘 및 / 또는 실행중인 프로그램은 이전 경로를 사용하지만 새 쉘 / 프로그램은 새 설정을 사용합니다.


25

관리자 권한이없는 계정 :

"사용자 계정"을 열고 "내 환경 변수 변경"( http://support.microsoft.com/kb/931715 )을 선택 하십시오 .

이 대화 상자에는 시스템 변수뿐만 아니라 현재 사용자 변수가 표시됩니다. 로컬 PATH 변수를 아직 추가하지 않은 경우 추가해야 할 수도 있습니다.

예를 들어 Python 3.3 디렉토리를 포함하도록 경로를 업데이트하려면 새로 작성을 클릭하십시오.

변수 이름 : PATH 변수 값 : % PATH %; C : \ Python33

현재 시스템 PATH를 가져 와서 추가하여 로컬 PATH를 만듭니다.


2
나는이 대답을 생각하고있어, " 내가 편집에 자신의 PATH를 권한이없는 사용자가 ...", 그리고 그렇게 영구적으로 더 나은 나머지 부분보다. 아주 잘 했어요 이것이 아닌 경우 내 컴퓨터에서 클릭하는 것이 관리자 보호되는 이유가 무엇입니까? 이 방법으로 액세스 할 때 UI와 동일한 방식으로 로컬이 아닌 필드를 보호하십시오.
ruffin

10

내 컴퓨터 / 속성 / 고급 / 환경 변수 이미 열려있는 명령 프롬프트 창을 제외하고 변경 사항이 즉시 적용 됩니다. 로그 아웃했다가 다시 로그인 할 필요가 없습니다.

참고 : 해당 창에 액세스 할 수없는 경우 rundll32 sysdm.cpl,EditEnvironmentVariables실행 창 또는 명령 줄에서 실행하여 창을 열 수 있습니다.


내 네트워크에서 일반 사용자는 나를 위해이하지 않습니다 작품은 내가 "로 ... 실행"또는 이와 유사한을 통해 상승 privs 및 함께 해당 화면을 열 수 있습니다하지 않는 한, 이런 식으로 자신의 환경 변수를 변경할 수 없습니다
ninesided

4

명령 프롬프트에서 다음을 수행 할 수 있습니다.

set PATH=C:\somedir;%PATH%

그러나 이것은 명령 프롬프트 (및 명령 프롬프트에서 시작 된 모든 앱)에 대해서만 변경됩니다. 이것을 사용자가 수행하는 모든 것에 적용하기를 원한다고 가정하면 사용자 환경 변수를 변경합니다. 내 컴퓨터, 속성, 고급, 환경 변수를 마우스 오른쪽 단추로 클릭하고 "변수 추가를위한 사용자 변수 :

PATH = C:\whatever

사용자가 로그인하면 시스템 전체 경로에 추가됩니다.


나는 PATH에 이미 항목의 순서를 변경하려면 사용자 변수에서 제거 추가하는 것은이 경우에 나를 위해하지 작업을 수행 있도록 할 필요가
ninesided

setx@Berzemus에서 언급했듯이 시스템 PATH 변수 ( /m스위치)를 영구적으로 편집 할 수 있습니다 .
Pat

2

사용자에게 "관리자"권한이없는 경우에도 시스템 전체 PATH 변수를 무시하는 명령 프롬프트에서 PATH 변수를 설정할 수 있습니다. 변경 사항은 사용자가 해당 명령 프롬프트에서 시작하는 새로운 프로세스에 적용됩니다. 기존 탐색기 프로세스 및 사용자가 변경을 수행 할 때 실행중인 다른 프로세스는 변경 내용을 "보지"않습니다.


1

위의 답변 외에도 레지스트리를 업데이트 할 수도 있습니다 (스크립트 가능함).

PATH 변수는 HKEY_CURRENT_USER \ Environment에 저장됩니다.

현재 경로를 읽으려면

reg query HKEY_CURRENT_USER\Environment /v PATH

경로에 c : \ somedir 값을 추가하려면 다음을 수행하십시오.

reg add HKEY_CURRENT_USER\Environment /v PATH /d "%PATH%;c:\somedir"

프로세스는 시작될 때 환경을 읽으므로 새 경로를 얻으려면 프로세스를 다시 시작해야합니다.

업데이트 : 내가 찾은 또 다른 방법은 다음을 실행하는 것입니다.

rundll32 sysdm.cpl,EditEnvironmentVariables

이 애플릿은 레지스트리를 편집하며 위와 동일한 효과를 갖습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.