윈 도 우 프로그램 관리자권한으로실행 batch파일 만들기 문의입니다.
2023.09.10 09:16
예를들어
c:\driver\a.exe
위 위치에 있는 파일을 관리자권한으로 실행 할 수 있는 배치 파일 명령어가 알고 싶습니다.
배치파일로도 가능한가요?
댓글 [8]
-
DarknessAngel 2023.09.10 09:49
-
마르코 2023.09.10 12:18
아 그러면 죄송한데 저도 지나가다 궁금해서 여쭤볼려고 하는데요 혹시 그러면
c:\driver\a.bat파일이라고 가정하면요 그냥 a.bat파일 자체를 관리자 권한으로 실행하고 싶다면 위 명령구문에서 어떤부분만 수정해주면 되나요? 감사합니다.
-
DarknessAngel 2023.09.10 17:27
원하는 스크립트 최상단에 저걸 추가해주세요
-
아크다크 2023.09.10 18:04
: 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"
:--------------------------------------
start c:\driver\a.exe
이렇게 하면 되더라구요...파일위치는 마지막..
근데 이게 문제가 되는게.. 해당파일을 압축해서 알집프로그램으로 실행되어있는 상태에서 실행시.. 커맨드창이 무한반복되는 증상이있어요... 반디집이나 윈도우압축프로그램으로는 이상없이 실행 되구요..
-
아크다크 2023.09.10 17:29
답변 감사합니다...
잘 사용 하겠습니다.
-
지후빠 2023.09.10 10:40
어둠천사님처럼 vbs, powershell 등 윈도우 내장 기능으로 실행하는 방법이 있고요.
- 참고 ; https://windowsforum.kr/lecture/17680459 *여기에서 %0 대신에 c:\driver\a.exe
좀 복잡하다 싶으시면 외부 유틸을 사용하시면 됩니다. 레지스트리에서 직접 실행시에도 유용합니다.
- https://westmesatech.com/files/ElevationToolkit1.zip
- Elevate64.exe c:\driver\a.exe
-
아크다크 2023.09.10 17:55
감사합니다... 많은 도움이 되었습니다.
-
DarknessAngel 2023.09.11 08:36
외부 소프트로 실행하실꺼라면 첨부된 파일 써서 최상위 계정인 system으로 실행하시는걸 추천합니다
RunasSystem64.exe 실행대상
형식으로 주면 됩니다
administrators수준의 권한으로는 일부 레지 항목등을 편집 불가능하지만, system이라면 됩니다
Set "Variable=0" & if exist "%temp%\getadmin.vbs" del "%temp%\getadmin.vbs"
fsutil dirty query %systemdrive% >nul 2>&1 && goto :(Privileges_got)
If "%1"=="%Variable%" (echo. &echo. Please right-click on the file and select &echo. "Run as administrator". &echo. Press any key to exit. &pause>nul 2>&1& exit)
cmd /u /c echo Set UAC = CreateObject^("Shell.Application"^) : UAC.ShellExecute "%~0", "%Variable%", "", "runas", 1 > "%temp%\getadmin.vbs"&cscript //nologo "%temp%\getadmin.vbs" & exit
:(Privileges_got)