상승 된 권한이 필요한 명령이 포함 된 배치 파일을 만들어야하는 경우가 있습니다. Windows Vista 이후 Windows에 포함 된 UAC 기능으로 인해 배치 파일을 시작할 때 마우스 오른쪽 버튼을 클릭하고 컨텍스트 메뉴에서 '관리자 권한으로 실행'을 선택하지 않으면 필요한 액세스 권한없이 열립니다. 자동으로 올라갈 배치 파일을 만드는 방법은 다음과 같습니다.
광고
계속하기 전에 파일 탐색기의 새 메뉴에 배치 파일 (* .bat)을 추가하는 방법 . 배치 파일의 시작 부분에 다음 내용을 배치하십시오.
Windows 10 시작 메뉴 및 설정이 작동하지 않음
::::::::::::::::::::::::::::::::::::::::::: :: 자동 확인 및 가져 오기 관리자 권한 V2 :::::::::::::::::::::::::::::::::::::::::::: @echo off CLS 에코. ECHO ============================ ECHO 실행 관리 쉘 ECHO ============== ============== : init setlocal DisableDelayedExpansion set 'batchPath = % ~ 0'for %% k in (% 0) do set batchName = %% ~ nk set 'vbsGetPrivileges = % temp % OEgetPriv_ % batchName % .vbs 'setlocal EnableDelayedExpansion : checkPrivileges NET FILE 1> NUL 2> NUL if'% errorlevel % '=='0 '(goto gotPrivileges) else (goto getPrivileges) : getPrivileges if'% 1 '==' ELEV '(에코 ELEV & 시프트 / 1 & goto gotPrivileges) ECHO. ECHO ************************************** ECHO 권한 에스컬레이션을 위해 UAC 호출 ECHO **** ********************************** ECHO Set UAC = CreateObject ^ ( 'Shell.Application'^)> ' % vbsGetPrivileges % 'ECHO args ='ELEV '>>'% vbsGetPrivileges % 'WScript의 각 strArg에 대한 ECHO.Arguments >>'% vbsGetPrivileges % 'ECHO args = args ^ & strArg ^ &' '>>'% vbsGetPrivileges % ' ECHO 다음 >> '% vbsGetPrivileges %'ECHO UAC.ShellExecute '! batchPath!', args, '', 'runas', 1 >> '% vbsGetPrivileges %' '% SystemRoot % System32 WScript.exe' '% vbsGetPrivileges % '% * exit / B : gotPrivileges setlocal & pushd. cd / d % ~ dp0 if '% 1'== 'ELEV'(del '% vbsGetPrivileges %'1> nul 2> nul & shift / 1) :::::::::::::::: :::::::::::: :: START ::::::::::::::::::::::::::: REM 관리자 권한으로 쉘 실행 (예 )-원하는대로 코드를 입력하십시오 ECHO % batchName % 인수 : % 1 % 2 % 3 % 4 % 5 % 6 % 7 % 8 % 9
마지막 줄 아래에 상승이 필요한 배치 명령을 배치하십시오.
제공된 코드는 관리자로 실행되지 않는 경우 다시 시작하는 특수 VBS 파일을 생성합니다. 따라서 제한된 권한으로 시작하면 명령을 실행하기 전에 권한 상승을 요청하는 UAC 프롬프트가 표시됩니다!
Windows 10에서의 모습은 다음과 같습니다.
이 코드에 대한 크레딧은 매트 .