728x90
반응형
배치 파일을 실행할 때 항상 관리자 권한으로 실행하기 위한 두 가지 방법
방법 1: 바로가기 파일을 이용하는 방법 (간단)
- 배치 파일(.bat) 생성
예를 들어 change_ip_restart.bat 파일을 만든다. - 바로가기 생성
- change_ip_restart.bat 파일을 우클릭 → "바로 가기 만들기" 선택
- 관리자 권한으로 설정
- 생성된 바로가기 파일을 우클릭 → **"속성"` 선택
- "고급" 버튼 클릭
- "관리자 권한으로 실행" 체크
- "확인" → "적용"
이제 바로가기를 실행하면 자동으로 관리자 권한으로 실행돼!
방법 2: 배치 파일 내부에서 자동으로 관리자 권한 요청
배치 파일 내에서 관리자 권한이 아니면 자동으로 관리자 권한으로 재실행하도록 만들 수도 있어.
@echo off
:: 관리자 권한 확인
net session >nul 2>&1
if %errorLevel% neq 0 (
echo Requesting administrator privileges...
powershell -Command "Start-Process cmd -ArgumentList '/c %~s0' -Verb RunAs"
exit
)
:: 여기부터 관리자 권한으로 실행됨
echo Running with administrator privileges...
:: 예제: IP 변경 코드 추가 가능
pause
설명
- net session >nul 2>&1 → 현재 실행 중인 명령 프롬프트가 관리자 권한인지 확인
- %errorLevel% neq 0이면 관리자 권한이 아니라는 뜻 → 관리자 권한으로 다시 실행
- powershell -Command "Start-Process cmd -ArgumentList '/c %~s0' -Verb RunAs"
→ 현재 배치 파일을 관리자 권한으로 다시 실행하고 기존 창 종료
결과
- 이 코드를 포함하면, 일반 실행 시 자동으로 관리자 권한을 요청함.
- UAC(사용자 계정 컨트롤) 창이 뜨면 **"예"**를 누르면 됨.
어떤 방법을 선택해야 할까?
- 방법 1 (바로가기 설정) → GUI 환경에서 실행하는 경우 간단하게 설정 가능.
- 방법 2 (배치 파일 내 코드 추가) → 어디서 실행하든 자동으로 관리자 권한 요청됨.