Advertisement
aveyo

windows_feature_update_toggle

Mar 28th, 2018 (edited)
4,031
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Batch 3.53 KB | None | 0 0
  1. @(set '(=)||' <# lean and mean cmd / ps1 hybrid, can paste into powershell console #> @'
  2.  
  3. @echo off & title WINDOWS FEATURE UPDATE TOGGLE
  4. rem feature upgrades on 1507 - 22H2 even on Home editions!
  5.  
  6. ::# elevate with native shell by AveYo
  7. >nul reg add hkcu\software\classes\.Admin\shell\runas\command /f /ve /d "cmd /x /d /r set \"f0=%%2\"& call \"%%2\" %%3"& set _= %*
  8. >nul fltmc|| if "%f0%" neq "%~f0" (cd.>"%temp%\runas.Admin" & start "%~n0" /high "%temp%\runas.Admin" "%~f0" "%_:"=""%" & exit /b)
  9.  
  10. ::# toggle feature upgrade on/off if no arguments, else "restore" or "block"
  11. for /f "tokens=6 delims=[]. " %%b in ('ver') do set /a BUILD=%%b
  12. set SKIP=10240 10586 14393 15063 16299 17134 17763 18362 18363 19041 19042 19043 19044 19045 22000 22621 22631
  13. set IMAGE=HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image& set NOP=%SystemRoot%\System32\systray.exe
  14. set UPDATE=windowsupdatebox updateassistant updateassistantcheck windows10upgrade windows10upgraderapp& set FEATURE=Restored&;
  15. reg query HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate /v TargetReleaseVersionInfo >nul 2>nul && set FEATURE=Blocked&;
  16. set CL=%1& for %%a in (%1) do if /i %%~a == restore (set FEATURE=Blocked) else if /i %%~a == block (set FEATURE=Restored)
  17.  
  18. if /i %FEATURE% equ Restored (
  19.   reg add HKLM\SOFTWARE\Microsoft\Windows10Upgrader\Volatile /f /v BlockWUUpgrades /t reg_dword /d 1
  20.   reg add HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate /f /v TargetReleaseVersion /t reg_dword /d 1
  21.   reg add HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate /f /v TargetReleaseVersionInfo /d 1507
  22.   for %%w in (%SKIP%) do reg add HKLM\SOFTWARE\Microsoft\WindowsSelfHost\Applicability\RecoveredFrom /f /v %%w /t reg_dword /d 1
  23.   reg add HKLM\SOFTWARE\Microsoft\WindowsSelfHost\Applicability\RecoveredFrom /f /v TimeStamp /t reg_qword /d 0
  24.   reg add HKLM\SOFTWARE\Microsoft\WindowsSelfHost\Applicability /f /v EnablePreviewBuild /t reg_dword /d 1
  25.   for %%w in ("Software\Microsoft\Windows\CurrentVersion\DeliveryOptimization" ) do (
  26.     reg add "HKLM\%%~w\Config" /f /v DODownloadMode /t reg_dword /d 0
  27.     reg add "HKU\S-1-5-20\%%~w\Settings" /f /v DownloadMode /t reg_dword /d 0
  28.   )
  29.   call "%SystemRoot%\UpdateAssistant\Windows10Upgrade.exe" /PreventWUUpgrade /ForceUninstall 2>nul
  30.   call "%SystemDrive%\Windows10Upgrade\Windows10UpgraderApp.exe" /PreventWUUpgrade /ForceUninstall 2>nul
  31.   for %%w in (%UPDATE%) do reg add "%IMAGE% File Execution Options\%%w.exe" /f /v Debugger /d %NOP% & taskkill /im %%w.exe /f /t
  32.   set STATUS=Feature Upgrade [BLOCKED] run again to restore
  33. ) >nul 2>nul
  34.  
  35. if /i %FEATURE% equ Blocked (
  36.   reg delete HKLM\SOFTWARE\Microsoft\Windows10Upgrader\Volatile /f /v BlockWUUpgrades
  37.   reg delete HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate /f /v TargetReleaseVersion
  38.   reg delete HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate /f /v TargetReleaseVersionInfo
  39.   for %%w in (%SKIP%) do reg delete HKLM\SOFTWARE\Microsoft\WindowsSelfHost\Applicability\RecoveredFrom /f /v %%w
  40.   reg delete HKLM\SOFTWARE\Microsoft\WindowsSelfHost\Applicability\RecoveredFrom /f /v TimeStamp
  41.   reg delete HKLM\SOFTWARE\Microsoft\WindowsSelfHost\Applicability /f /v EnablePreviewBuild
  42.   for %%w in (%UPDATE%) do reg delete "%IMAGE% File Execution Options\%%w.exe" /f /v Debugger
  43.   set STATUS=Feature Upgrade [RESTORED] run again to block
  44. ) >nul 2>nul
  45.  
  46. echo;& echo;%STATUS%
  47. if not defined CL timeout /t 7
  48. exit /b
  49.  
  50. '@); $0 = "$env:temp\windows_feature_update_toggle.bat"; ${(=)||} -split "\r?\n" | out-file $0 -encoding default -force; & $0
  51. # press enter
  52.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement