Terry Very Good

cmd로 특정 프로그램을 관리자 권한으로 실행하는 방법 3가지(batch파일, cmd, 일반) 본문

프로그래밍

cmd로 특정 프로그램을 관리자 권한으로 실행하는 방법 3가지(batch파일, cmd, 일반)

테리베리 2022. 12. 19. 11:15
728x90
반응형

아웃룩을 관리자 권한으로 여는 것을 자동화하고 싶었다.

삽질을 엄청 하다가, 2가지 방법을 알아냈다.

1. 일반(원시적인 방법)

1. window키 누르기
2. outlook 2016 입력
3. Right 방향키 클릭
4. Down 방향키 클릭
5. 관리자 권한으로 실행 메뉴에 도달하면 Enter

>> 이걸 RPA로 자동화

2. CMD활용하기
 - 관리자 모드로 열린 cmd로 outlook을 열면 되더라.

1. cmd(명령프롬프트)의 경로로 가기
2. cmd 속성창 > 바로가기 > 고급 > 관리자 권한으로 실행 체크
3. cmd에서 outlook 실행

>> 이 방법을 RPA로 자동화하면 된다.

 3. batch파일 활용하기
 - 첫째, 아래와 같이 배치파일을 만든다. 

 :: BatchGotAdmin
 :-------------------------------------
 REM  --> Check for permissions
 >nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"

REM --> If error flag set, we do not have admin.
 if '%errorlevel%' NEQ '0' (
     echo Requesting administrative privileges...
     goto UACPrompt
 ) else ( goto gotAdmin )

:UACPrompt
     echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
     echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"

    "%temp%\getadmin.vbs"
     exit /B

:gotAdmin
     if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
     pushd "%CD%"
     CD /D "%~dp0"
 :--------------------------------------
TIMEOUT /t 60
start /d "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\" /b Outlook2016.lnk

 - 둘째, 바로 위에 보이는 start /d "경로" /b 실행프로그램 을 수정한다. 이 때, 실행프로그램명은 띄어쓰기되어있지 않게 수정하는 것을 추천한다. batch 파일이 복잡해보이지만, 실제로는 맨 밑에 2줄만 알면 된다(나머지는 관리자 모드 실행을 위한 코드라 수정없이 복붙 ㄱㄱ).

728x90
반응형