Created
November 20, 2018 06:04
-
-
Save wongsyrone/5248df5f2f23df0c1ff3367e4c302de5 to your computer and use it in GitHub Desktop.
reset Windows Update batch file
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@ECHO OFF | |
echo . | |
echo Simple Script to Hard reset Windows updates | |
echo . | |
PAUSE | |
echo . | |
net stop bits | |
net stop wuauserv | |
net stop appidsvc | |
net stop cryptsvc | |
Ipconfig /flushdns | |
Del "%ALLUSERSPROFILE%\Application Data\Microsoft\Network\Downloader\qmgr*.dat" | |
rmdir %windir%\softwaredistribution /s /q | |
sc.exe sdset bits D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;AU)(A;;CCLCSWRPWPDTLOCRRC;;;PU) | |
sc.exe sdset wuauserv D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;AU)(A;;CCLCSWRPWPDTLOCRRC;;;PU) | |
cd /d %windir%\system32 | |
Ren %systemroot%\system32\catroot2 catroot2.bak | |
regsvr32.exe /s atl.dll | |
regsvr32.exe /s urlmon.dll | |
regsvr32.exe /s mshtml.dll | |
regsvr32.exe /s shdocvw.dll | |
regsvr32.exe /s browseui.dll | |
regsvr32.exe /s jscript.dll | |
regsvr32.exe /s vbscript.dll | |
regsvr32.exe /s scrrun.dll | |
regsvr32.exe /s msxml.dll | |
regsvr32.exe /s msxml3.dll | |
regsvr32.exe /s msxml6.dll | |
regsvr32.exe /s actxprxy.dll | |
regsvr32.exe /s softpub.dll | |
regsvr32.exe /s wintrust.dll | |
regsvr32.exe /s dssenh.dll | |
regsvr32.exe /s rsaenh.dll | |
regsvr32.exe /s gpkcsp.dll | |
regsvr32.exe /s sccbase.dll | |
regsvr32.exe /s slbcsp.dll | |
regsvr32.exe /s cryptdlg.dll | |
regsvr32.exe /s oleaut32.dll | |
regsvr32.exe /s ole32.dll | |
regsvr32.exe /s shell32.dll | |
regsvr32.exe /s initpki.dll | |
regsvr32.exe /s wuapi.dll | |
regsvr32.exe /s wuaueng.dll | |
regsvr32.exe /s wuaueng1.dll | |
regsvr32.exe /s wucltui.dll | |
regsvr32.exe /s wups.dll | |
regsvr32.exe /s wups2.dll | |
regsvr32.exe /s wuweb.dll | |
regsvr32.exe /s qmgr.dll | |
regsvr32.exe /s qmgrprxy.dll | |
regsvr32.exe /s wucltux.dll | |
regsvr32.exe /s muweb.dll | |
regsvr32.exe /s wuwebv.dll | |
regsvr32 /s wudriver.dll | |
netsh winsock reset | |
net start bits | |
net start wuauserv | |
net start appidsvc | |
net start cryptsvc | |
bitsadmin.exe /reset /allusers | |
echo Task completed. | |
echo . | |
PAUSE |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@ECHO OFF | |
echo . | |
echo Simple Script to reset Windows updates components by Your Windows Guide. | |
PAUSE | |
echo . | |
set b=0 | |
:bits | |
set /a b=%b%+1 | |
if %b% equ 3 ( | |
goto end1 | |
) | |
net stop bits | |
echo Checking the bits service status. | |
sc query bits | findstr /I /C:"STOPPED" | |
if not %errorlevel%==0 ( | |
goto bits | |
) | |
goto loop2 | |
:end1 | |
cls | |
echo. | |
echo Failed to reset Windows Update due to bits service failing to stop | |
echo Please run the script as administartor by right clicking the WuReset file or your BITS service isn't responding. | |
echo. | |
pause | |
goto Start | |
:loop2 | |
set w=0 | |
:wuauserv | |
set /a w=%w%+1 | |
if %w% equ 3 ( | |
goto end2 | |
) | |
net stop wuauserv | |
echo Checking the wuauserv service status. | |
sc query wuauserv | findstr /I /C:"STOPPED" | |
if not %errorlevel%==0 ( | |
goto wuauserv | |
) | |
goto loop3 | |
:end2 | |
cls | |
echo. | |
echo Failed to reset Windows Update due to wuauserv service failing to stop. | |
echo. | |
pause | |
goto Start | |
:loop3 | |
set app=0 | |
:appidsvc | |
set /a app=%app%+1 | |
if %app% equ 3 ( | |
goto end3 | |
) | |
net stop appidsvc | |
echo Checking the appidsvc service status. | |
sc query appidsvc | findstr /I /C:"STOPPED" | |
if not %errorlevel%==0 ( | |
goto appidsvc | |
) | |
goto loop4 | |
:end3 | |
cls | |
echo. | |
echo Failed to reset Windows Update due to appidsvc service failing to stop. | |
echo. | |
pause | |
goto Start | |
:loop4 | |
set c=0 | |
:cryptsvc | |
set /a c=%c%+1 | |
if %c% equ 3 ( | |
goto end4 | |
) | |
net stop cryptsvc | |
echo Checking the cryptsvc service status. | |
sc query cryptsvc | findstr /I /C:"STOPPED" | |
if not %errorlevel%==0 ( | |
goto cryptsvc | |
) | |
goto Reset | |
:end4 | |
cls | |
echo. | |
echo Failed to reset Windows Update due to cryptsvc service failing to stop. | |
echo. | |
pause | |
goto Start | |
:Reset | |
echo Deleting *.qmgr files | |
del /s /q /f "%ALLUSERSPROFILE%\Microsoft\Network\Downloader\qmgr*.dat" | |
del /s /q /f "%ALLUSERSPROFILE%\Application Data\Microsoft\Network\Downloader\qmgr*.dat" | |
echo Removing Windows update cache files.... | |
echo . | |
cd /d %windir%\system32 | |
if exist "%SYSTEMROOT%\winsxs\pending.xml.bak" del /s /q /f "%SYSTEMROOT%\winsxs\pending.xml.bak" | |
if exist "%SYSTEMROOT%\winsxs\pending.xml" ( | |
takeown /f "%SYSTEMROOT%\winsxs\pending.xml" | |
attrib -r -s -h /s /d "%SYSTEMROOT%\winsxs\pending.xml" | |
ren "%SYSTEMROOT%\winsxs\pending.xml" pending.xml.bak | |
) | |
if exist "%SYSTEMROOT%\SoftwareDistribution.bak" rmdir /s /q "%SYSTEMROOT%\SoftwareDistribution.bak" | |
if exist "%SYSTEMROOT%\SoftwareDistribution" ( | |
attrib -r -s -h /s /d "%SYSTEMROOT%\SoftwareDistribution" | |
ren "%SYSTEMROOT%\SoftwareDistribution" SoftwareDistribution.bak | |
) | |
if exist "%SYSTEMROOT%\system32\Catroot2.bak" rmdir /s /q "%SYSTEMROOT%\system32\Catroot2.bak" | |
if exist "%SYSTEMROOT%\system32\Catroot2" ( | |
attrib -r -s -h /s /d "%SYSTEMROOT%\system32\Catroot2" | |
ren "%SYSTEMROOT%\system32\Catroot2" Catroot2.bak | |
) | |
if exist "%SYSTEMROOT%\WindowsUpdate.log.bak" del /s /q /f "%SYSTEMROOT%\WindowsUpdate.log.bak" | |
if exist "%SYSTEMROOT%\WindowsUpdate.log" ( | |
attrib -r -s -h /s /d "%SYSTEMROOT%\WindowsUpdate.log" | |
ren "%SYSTEMROOT%\WindowsUpdate.log" WindowsUpdate.log.bak | |
) | |
echo Resetting Update services secuirty descriptors | |
echo . | |
sc.exe sdset wuauserv D:(A;;CCLCSWLOCRRC;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCDCLCSWRPWPDTLCRSDRCWDWO;;;SO)(A;;CCLCSWRPWPDTLOCRRC;;;SY)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;WD) | |
sc.exe sdset bits D:(A;;CCLCSWLOCRRC;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCDCLCSWRPWPDTLCRSDRCWDWO;;;SO)(A;;CCLCSWRPWPDTLOCRRC;;;SY)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;WD) | |
sc.exe sdset cryptsvc D:(A;;CCLCSWLOCRRC;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCDCLCSWRPWPDTLCRSDRCWDWO;;;SO)(A;;CCLCSWRPWPDTLOCRRC;;;SY)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;WD) | |
sc.exe sdset trustedinstaller D:(A;;CCLCSWLOCRRC;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCDCLCSWRPWPDTLCRSDRCWDWO;;;SO)(A;;CCLCSWRPWPDTLOCRRC;;;SY)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;WD) | |
echo Re-registering Windows update files | |
cd /d %SYSTEMROOT%\system32 | |
regsvr32.exe /s atl.dll | |
regsvr32.exe /s urlmon.dll | |
regsvr32.exe /s mshtml.dll | |
regsvr32.exe /s shdocvw.dll | |
regsvr32.exe /s browseui.dll | |
regsvr32.exe /s jscript.dll | |
regsvr32.exe /s vbscript.dll | |
regsvr32.exe /s scrrun.dll | |
regsvr32.exe /s msxml.dll | |
regsvr32.exe /s msxml3.dll | |
regsvr32.exe /s msxml6.dll | |
regsvr32.exe /s actxprxy.dll | |
regsvr32.exe /s softpub.dll | |
regsvr32.exe /s wintrust.dll | |
regsvr32.exe /s dssenh.dll | |
regsvr32.exe /s rsaenh.dll | |
regsvr32.exe /s gpkcsp.dll | |
regsvr32.exe /s sccbase.dll | |
regsvr32.exe /s slbcsp.dll | |
regsvr32.exe /s cryptdlg.dll | |
regsvr32.exe /s oleaut32.dll | |
regsvr32.exe /s ole32.dll | |
regsvr32.exe /s shell32.dll | |
regsvr32.exe /s initpki.dll | |
regsvr32.exe /s wuapi.dll | |
regsvr32.exe /s wuaueng.dll | |
regsvr32.exe /s wuaueng1.dll | |
regsvr32.exe /s wucltui.dll | |
regsvr32.exe /s wups.dll | |
regsvr32.exe /s wups2.dll | |
regsvr32.exe /s wuweb.dll | |
regsvr32.exe /s qmgr.dll | |
regsvr32.exe /s qmgrprxy.dll | |
regsvr32.exe /s wucltux.dll | |
regsvr32.exe /s muweb.dll | |
regsvr32.exe /s wuwebv.dll | |
echo Resetting Winsock and Proxy | |
echo . | |
::netsh winsock reset | |
::netsh winsock reset proxy | |
echo Resetting the services as automatic | |
echo . | |
sc.exe config wuauserv start= auto | |
sc.exe config bits start= delayed-auto | |
sc.exe config cryptsvc start= auto | |
sc.exe config TrustedInstaller start= demand | |
sc.exe config DcomLaunch start= auto | |
:Start | |
echo Starting services | |
echo . | |
net start bits | |
net start wuauserv | |
net start appidsvc | |
net start cryptsvc | |
echo Task completed sucessfully!Please restart your computer and check for the updates again. | |
PAUSE |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment