From: crazy-max Date: Thu, 22 Dec 2016 03:20:00 +0000 (+0100) Subject: Force to be launched as Administrator X-Git-Url: http://git.99rst.org/?a=commitdiff_plain;h=a32282b50823ac590436d27d0f38f41bc7d06ea7;p=stevenblack-hosts.git Force to be launched as Administrator --- diff --git a/updateHostsWindows.bat b/updateHostsWindows.bat index 5151a6b5e..6aa1e6522 100644 --- a/updateHostsWindows.bat +++ b/updateHostsWindows.bat @@ -1,9 +1,35 @@ :: This script will create in first running backup of ORIGINAL/CURRENT hosts file in hosts.skel file. :: If hosts.skel file exists, then NEW copy with customized unified hosts file will be copied to proper path. :: Next DNS Cache will be refreshed. -:: YOU NEED RUNNING THIS BAT FILE IN COMMAND LINE PROMPT WITH ADMINISTRATOR PRIVILIGES +:: THIS BAT FILE WILL BE LAUNCHED WITH ADMINISTRATOR PRIVILIGES @ECHO OFF +:UAC_ADMIN +>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system" +if '%ERRORLEVEL%' NEQ '0' ( + ECHO Requesting administrative privileges... + GOTO UAC_PROMPT +) else ( + GOTO ADMIN +) + +:UAC_PROMPT +ECHO Set UAC = CreateObject^("Shell.Application"^) > "%TEMP%\getadmin.vbs" +ECHO UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%TEMP%\getadmin.vbs" +"%TEMP%\getadmin.vbs" +EXIT /B + +:ADMIN +if exist "%TEMP%\getadmin.vbs" ( + DEL "%TEMP%\getadmin.vbs" +) +pushd "%CD%" +CD /D "%~dp0" +CD %CD% +%COMSPEC% /c "updateHostsWindows.bat" start +EXIT + +:START if not exist "%WINDIR%\py.exe" ( ECHO :: ERROR :: Python 3.5 Runtime NOT FOUND... ECHO :: ERROR :: Download and install lastest Python 3.5 for Windows from https://www.python.org/downloads/ @@ -11,7 +37,8 @@ if not exist "%WINDIR%\py.exe" ( GOTO END ) ELSE ( GOTO PY35RT - ) +) + :PY35RT if not exist "%LOCALAPPDATA%\Programs\Python\Python35\Python35.dll" ( ECHO :: ERROR :: Python 3.5 Runtime NOT FOUND... @@ -22,15 +49,18 @@ if not exist "%LOCALAPPDATA%\Programs\Python\Python35\Python35.dll" ( ECHO :: INFO :: Python 3.5 Runtime was found... ECHO :: INFO :: Running main script... GOTO DNSCHECK - ) +) + :DNSCHECK if not exist "%WINDIR%\System32\drivers\etc\hosts.skel" ( COPY %WINDIR%\System32\drivers\etc\hosts %WINDIR%\System32\drivers\etc\hosts.skel GOTO :CLEARDNS ) + :CLEARDNS - updateHostsFile.py -a - COPY hosts %WINDIR%\System32\drivers\etc\ - ipconfig /flushdns - GOTO END +updateHostsFile.py -a +COPY hosts %WINDIR%\System32\drivers\etc\ +ipconfig /flushdns +GOTO END + :END