@ECHO OFF

title Windows File Integrity Check
:: ======================
:: SCP: Secret Laboratory - Windows File Integrity Check Script
:: ======================

REM  --> Check for permissions
    IF "%PROCESSOR_ARCHITECTURE%" EQU "amd64" (
        >nul 2>&1 "%SYSTEMROOT%\SysWOW64\cacls.exe" "%SYSTEMROOT%\SysWOW64\config\system"
    ) ELSE (
        >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"
    set params= %*
    echo UAC.ShellExecute "cmd.exe", "/c ""%~s0"" %params:"=""%", "", "runas", 1 >> "%temp%\getadmin.vbs"

    "%temp%\getadmin.vbs"
    del "%temp%\getadmin.vbs"
    exit /B


:gotAdmin
    pushd "%CD%"
    CD /D "%~dp0"


CLS


TITLE Running DISM Health Check...
echo ___________________________________
echo.
echo CheckHealth:
echo ___________________________________
echo.
Dism /Online /Cleanup-Image /CheckHealth
echo ___________________________________
echo.

TITLE Running DISM Health Scan...
echo ScanHealth:
echo ___________________________________
echo.
Dism /Online /Cleanup-Image /ScanHealth
echo ___________________________________
echo.

TITLE Running DISM Health Restoration...
echo RestoreHealth:
echo ___________________________________
echo.
Dism /Online /Cleanup-Image /RestoreHealth
echo ___________________________________
echo.

TITLE Running SFC Scan...
echo SFC Scannow:
echo ___________________________________
echo.
sfc /scannow
echo ___________________________________
echo.

TITLE Windows File Integrity Check - Complete
echo DONE!

popd
PAUSE