anchor.diff:  		REM Description of the update for Windows Activation Technologies
   		wusa /uninstall /kb:971033 /quiet /norestart
   
  +		REM Descriptions not available, update was pulled by Microsoft
  +		wusa /uninstall /kb:2902907 /quiet /norestart
  +		wusa /uninstall /kb:2922324 /quiet /norestart
  +
  +
  +		REM :::::::::::::::::::::::::::::::::::::::::::::
   		REM SCHEDULED TASKS
  -		REM :::::::::::::::::::::::::::::::::::::::::::::
   		schtasks /delete /F /TN "\Microsoft\Windows\Application Experience\Microsoft Compatibility Appraiser"
   		schtasks /delete /F /TN "\Microsoft\Windows\Application Experience\ProgramDataUpdater"
   		schtasks /delete /F /TN "\Microsoft\Windows\Autochk\Proxy"
  
positive.code: call :log "%CUR_DATE% %TIME%   stage_2_de-bloat begin..."
  
  
  :: JOB: Remove crapware programs, phase 1 (by name)
  title TRON v%SCRIPT_VERSION% [stage_2_de-bloat] [Remove bloatware by name]
  call :log "%CUR_DATE% %TIME%    Attempt junkware removal: Phase 1 (by name)..."
  call :log "%CUR_DATE% %TIME%    Customize here: \resources\stage_2_de-bloat\oem\programs_to_target_by_name.txt"
  :: Search through the list of programs in "programs_to_target.txt" file and uninstall them one-by-one
  if /i %DRY_RUN%==no FOR /F "tokens=*" %%i in (stage_2_de-bloat\oem\programs_to_target_by_name.txt) DO echo   %%i && echo   %%i...>> "%LOGPATH%\%LOGFILE%" && %WMIC% product where "name like '%%i'" uninstall /nointeractive>> "%LOGPATH%\%LOGFILE%"
  call :log "%CUR_DATE% %TIME%    Done."
  
  
  :: JOB: Remove crapware programs, phase 2 (by GUID)
  title TRON v%SCRIPT_VERSION% [stage_2_de-bloat] [Remove bloatware by GUID]
  call :log "%CUR_DATE% %TIME%    Attempt junkware removal: Phase 2 (by GUID)..."
  call :log "%CUR_DATE% %TIME%    Customize here: \resources\stage_2_de-bloat\oem\programs_to_target_by_GUID.bat"
  if /i %DRY_RUN%==no call stage_2_de-bloat\oem\programs_to_target_by_GUID.bat >> "%LOGPATH%\%LOGFILE%" 2>&1
  call :log "%CUR_DATE% %TIME%    Done."
  
  
  :: JOB: Remove default Metro apps (Windows 8/8.1/2012/2012-R2 only). Thanks to https://keybase.io/exabrial
  title TRON v%SCRIPT_VERSION% [stage_2_de-bloat] [Remove default metro apps]
  :: Read nine characters into the WIN_VER variable (starting at position 0 on the left) to check for Windows 8; 16 characters in to check for Server 2012.
  :: The reason we read partially into the variable instead of comparing the whole thing is because we don't care what sub-version of 8/2012 we're on.
  :: Also I'm lazy and don't want to write ten different comparisons for all the random sub-versions MS churns out with inconsistent names.
  if "%WIN_VER:~0,9%"=="Windows 8" set TARGET_METRO=yes
  if "%WIN_VER:~0,18%"=="Windows Server 201" set TARGET_METRO=yes
  :: Check if we're forcefully skipping Metro de-bloat. Thanks to /u/swtester for the suggestion
  if %PRESERVE_METRO_APPS%==yes set TARGET_METRO=no
  if /i %TARGET_METRO%==yes (
  	call :log "%CUR_DATE% %TIME%    Windows 8/2012 detected, removing OEM Metro apps..."
  	:: Force allowing us to start AppXSVC service in Safe Mode. AppXSVC is the MSI Installer equivalent for "apps" (vs. programs)
  	if /i %DRY_RUN%==no (
  		reg add "HKLM\SYSTEM\CurrentControlSet\Control\SafeBoot\%SAFEBOOT_OPTION%\AppXSVC" /ve /t reg_sz /d Service /f >nul 2>&1
  
negative.code: call :log "%CUR_DATE% %TIME%   stage_4_repair jobs begin..."
  
  
  :: JOB: Check Windows Image for corruptions before running SFC (Windows 8 and up)
  :: Thanks to /u/nomaddave
  title TRON v%SCRIPT_VERSION% [stage_3_disinfect] [DISM Check]
  call :log "%CUR_DATE% %TIME%    Launch job 'Dism Windows image check (Win8 and up)'..."
  if /i %DRY_RUN%==yes goto skip_dism_image_check
  
  :: Read WIN_VER and run the scan if we're on 8 or above
  if "%WIN_VER:~0,19%"=="Windows Server 2012" (
  	Dism /Online /NoRestart /Cleanup-Image /ScanHealth /Logpath:"%LOGPATH%\tron_dism.log"
  	type "%LOGPATH%\tron_dism.log" >> "%LOGPATH%\%LOGFILE%"
  	del /f /q "%LOGPATH%\tron_dism.log"
  