Stops explorer.exe from being started with admin privilieges (#373)

This commit is contained in:
Noah Andrews 2016-06-02 13:00:44 -04:00 committed by Jack Humbert
parent 4635b44533
commit c7005cdfcf
5 changed files with 88 additions and 46 deletions

View file

@ -2,25 +2,25 @@
@ECHO OFF
SET CMDLINERUNSTR=%SystemRoot%\system32\cmd.exe
SET NEWPATH1="C:\MinGW\msys\1.0\bin"
SET NEWPATH2="C:\MinGW\bin"
CD UTIL
DEL add-paths.log > NUL 2>&1
DEL add-paths-detail.log > NUL 2>&1
DEL UPDATE > NUL 2>&1
ELEVATE -wait %cd%\add-paths.bat > NUL 2>&1
:: Make sure we're running with administrator privileges
NET SESSION >nul 2>&1
IF ERRORLEVEL 1 (
ECHO FAILED. Run this script with administrator privileges.
GOTO ExitBatch
ECHO You denied admin access. Rerun the script, and be sure to press the yes button this time.
) ELSE (
TYPE add-paths.log 2> NUL
)
:: Make sure the second path exists. The first path won't be created until the second script is run
IF NOT EXIST !NEWPATH2! (ECHO Path not found: %NEWPATH2% && GOTO ExitBatch)
:: Add paths
CALL :AddPath %NEWPATH1%
CALL :AddPath %NEWPATH2%
ECHO.
:: Branch to UpdateEnv if we need to update
IF DEFINED UPDATE (GOTO UpdateEnv)
IF EXIST UPDATE (
DEL UPDATE
GOTO UpdateEnv
)
GOTO ExitBatch
@ -28,9 +28,9 @@ GOTO ExitBatch
:UpdateEnv
ECHO Making updated PATH go live . . .
REG delete HKCU\Environment /F /V TEMPVAR > nul 2>&1
setx TEMPVAR 1 > nul 2>&1
REG delete HKCU\Environment /F /V TEMPVAR > nul 2>&1
REG delete HKCU\Environment /F /V TEMPVAR > NUL 2>&1
setx TEMPVAR 1 > NUL
REG delete HKCU\Environment /F /V TEMPVAR > NUL 2>&1
IF NOT !cmdcmdline! == !CMDLINERUNSTR! (CALL :KillExplorer)
GOTO ExitBatch
@ -43,35 +43,19 @@ EXIT /b
:: -----------------------------------------------------------------------------
:AddPath <pathToAdd>
ECHO %PATH% | FINDSTR /C:"%~1" > nul
IF ERRORLEVEL 1 (
REG add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /f /v PATH /t REG_SZ /d "%PATH%;%~1" > nul 2>&1
IF ERRORLEVEL 0 (
ECHO Adding %1 . . . Success!
SET "PATH=%PATH%;%~1"
SET UPDATE=1
) ELSE (
ECHO Adding %1 . . . FAILED. Run this script with administrator privileges.
)
) ELSE (
ECHO Skipping %1 - Already in PATH
)
EXIT /b
:: -----------------------------------------------------------------------------
:KillExplorer
ECHO Your desktop is being restarted, please wait. . .
ping -n 5 127.0.0.1 > NUL 2>&1
ECHO Killing process Explorer.exe. . .
taskkill /f /im explorer.exe
ECHO Your desktop will be restarted.
ECHO All file explorer windows except for the one you launched this script from WILL BE CLOSED.
ECHO Press enter when ready, or close this window if you would rather do a full restart of your computer at a later time.
PAUSE
ping -n 5 127.0.0.1 > NUL 2>&1
ECHO Killing process Explorer.exe. . .
ECHO.
taskkill /f /im explorer.exe > NUL
ECHO.
ECHO Your desktop is now loading. . .
ping -n 5 127.0.0.1 > NUL 2>&1
ECHO Your desktop is now loading. . .
ECHO.
ping -n 5 127.0.0.1 > NUL 2>&1
ping -n 5 127.0.0.1 > NUL 2>&1
START explorer.exe
START explorer.exe %CD%
START explorer.exe %CD%\..
EXIT /b