@IT Engineer_Kathy Kim

[Windows] 실행시 관리자 권한이 필요한 프로그램을 관리자 권한없이 실행하기? / UAC 없이 일반 사용자로 프로그램 실행하기 본문

@IT Engineer/Windows

[Windows] 실행시 관리자 권한이 필요한 프로그램을 관리자 권한없이 실행하기? / UAC 없이 일반 사용자로 프로그램 실행하기

KathyKim 2020. 9. 16. 20:46

윈도우에서 프로그램을 실행할 때 보면 관리자 권한이 필요하다고 관리자 계정 정보를 요청하는 경우들이 있다. 이럴때 뜨는 창에 보면, 사용자 계정 컨트롤, User Access Cotrol 이라고 명시되어 있고 이런걸 UAC라고 한다. 특히 이렇게 아이콘에 Admin 권한이 필요하다는 저런 방패 모양 그림이 있으면 꼭 뜬다.

회사 보안상 사용자 계정에 관리자 권한을 줄 수 없는 경우들이 대부분이기 때문에 이런 프로그램들이 참 난감하다. 매번 관리자 계정을 입력해줄수도 없고, 이거 하나 때문에 관리자 권한을 주기도 그렇기 때문이다. 지금의 회사에서도 이런 프로그램 하나가 있어서 참 속을 썩였다. 결국 해결을 하라는 지시가 있어서, 폭풍 검색 시작

 

찾아본 결과, 1차적으로 나오는 결과는 UAC 설정값을 변경하라는 조언이었다. 제어판 > 사용자 계정 > 사용자 계정 변경 > 사용자 계정 컨트롤 설정 변경 > 알리지 않음으로 변경! 하지만 해당 방법은 나의 문제를 해결해주지 못했다. 이거는 관리자 권한을 가지고 있을때 관리자 계정을 입력하지 않아도 되는데 그냥 알림처럼 뜨는 창을 없애주는 설정인것 같다. 그래서 해보고 그냥 다시 원복..

 

그리고 다시 찾은 방법이 바로 이거다, 핵심은 runasinvoker !!

내가 이해한 바로는 관리자 권한을 요구하는 창은 프로그램에서 권한상승을 요구하기 때문에 뜨는거다. 그래서 문제의 프로그램 제조사에 문의를 해보았다. 문의를 해본 결과, 해당 프로그램은 관리자 권한 없이 일반 사용자 권한에서도 실행이 가능하다고..?! 결과적으로 프로그램에서 요청하는게 아니라 보안상 또는 정확히 모를 어떤 이유로 인해 이 상황이 발생하는거다.. 그래서 runasinvoker를 이용해서 해당 권한 상승 요청을 무시하고 프로그램을 실행 해 보기로 했다. 

 

우선 실행하려고 하는 프로그램의 바로가기 > 속성 > 대상값 변경

대상값에 있는 원래 프로그램 실행주소 앞에 아래 cmd 명령어를 추가 해주고 > 적용 > 확인

cmd /min /c "set __COMPAT_LAYER=RUNASINVOKER && start " 기존에 있던 프로그램 주소

 

그럼 바로가기에 있던 방패 그림도 사라지고, 관리자 권한을 물어보지 않으면서 프로그램이 짠 실행된다! 물론 이거는 해당 프로그램이 정말 관리자 권한 없이 실행이 잘 된다는 전제가 있어야지만 가능하다!! 만약 프로그램을 실행하는데 실제로 관리자 권한이 필요한 경우라면, 해당 프로그램이 잘 실행될리 없다. 포스팅을 위해 예로 든 이 프로그램의 경우도 그런 경우인지 관리자권한 없이는 실행이 되지 않는다ㅎㅎ 예로 든 저 프로그램도 그렇고, 다른 프로그램도 아래와 같은 에러가 난다. 이걸 보면 해결된게 용하다.

 

여튼 그래도 해결되서 다행. 참고한 사이트는 아래와 같다. 보면 배치파일을 만들어서 활용하기도, 레지스트리를 통해서 모든 프로그램에 해당 옵션을 적용하기도 하기 때문에 본인과 회사의 상황에 맞게 적용하면 될 것 같다.

http://woshub.com/run-program-without-admin-password-and-bypass-uac-prompt/

 

Comments