Some checks failed
Build, Push, Publish / Build & Release (push) Failing after 2s
197 lines
5.5 KiB
Batchfile
197 lines
5.5 KiB
Batchfile
@echo off
|
|
|
|
:: Prompt to Run as administrator
|
|
Set "Variable=0" & if exist "%temp%\getadmin.vbs" del "%temp%\getadmin.vbs"
|
|
fsutil dirty query %systemdrive% >nul 2>&1 && goto :(Privileges_got)
|
|
If "%1"=="%Variable%" (echo. &echo. Please right-click on the file and select &echo. "Run as administrator". &echo. Press any key to exit. &pause>nul 2>&1& exit)
|
|
cmd /u /c echo Set UAC = CreateObject^("Shell.Application"^) : UAC.ShellExecute "%~0", "%Variable%", "", "runas", 1 > "%temp%\getadmin.vbs"&cscript //nologo "%temp%\getadmin.vbs" & exit
|
|
:(Privileges_got)
|
|
|
|
:: Checking and Stopping the Windows Update services
|
|
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 Cannot reset Windows Update since "Background Intelligent Transfer Service" (bits) service failed to stop. Please restart the computer, and try again.
|
|
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 Cannot reset Windows Update since "Windows Update" (wuauserv) service failed to stop. Please restart the computer, and try again.
|
|
echo.
|
|
pause
|
|
goto Start
|
|
|
|
|
|
|
|
:loop3
|
|
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 Cannot reset Windows Update since "Cryptographic Services" (cryptsvc) service failed to stop. Please restart the computer, and try again.
|
|
echo.
|
|
pause
|
|
goto Start
|
|
|
|
|
|
:Reset
|
|
Ipconfig /flushdns
|
|
del /s /q /f "%ALLUSERSPROFILE%\Application Data\Microsoft\Network\Downloader\qmgr*.dat"
|
|
del /s /q /f "%ALLUSERSPROFILE%\Microsoft\Network\Downloader\qmgr*.dat"
|
|
del /s /q /f "%SYSTEMROOT%\Logs\WindowsUpdate\*"
|
|
|
|
if exist "C:\$WinREAgent" rmdir /s /q "C:\$WinREAgent"
|
|
|
|
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\DataStore.bak" rmdir /s /q "%SYSTEMROOT%\SoftwareDistribution\DataStore.bak"
|
|
if exist "%SYSTEMROOT%\SoftwareDistribution\DataStore" (
|
|
attrib -r -s -h /s /d "%SYSTEMROOT%\SoftwareDistribution\DataStore"
|
|
ren "%SYSTEMROOT%\SoftwareDistribution\DataStore" DataStore.bak
|
|
)
|
|
|
|
if exist "%SYSTEMROOT%\SoftwareDistribution\Download.bak" rmdir /s /q "%SYSTEMROOT%\SoftwareDistribution\Download.bak"
|
|
if exist "%SYSTEMROOT%\SoftwareDistribution\Download" (
|
|
attrib -r -s -h /s /d "%SYSTEMROOT%\SoftwareDistribution\Download"
|
|
ren "%SYSTEMROOT%\SoftwareDistribution\Download" Download.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
|
|
)
|
|
|
|
|
|
:: Reset Windows Update policies
|
|
reg delete "HKCU\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /f
|
|
reg delete "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\WindowsUpdate" /f
|
|
reg delete "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /f
|
|
reg delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\WindowsUpdate" /f
|
|
gpupdate /force
|
|
|
|
|
|
:: Reset the BITS service and the Windows Update service to the default security descriptor
|
|
sc.exe sdset bits D:(A;CI;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)
|
|
sc.exe sdset wuauserv D:(A;;CCLCSWRPLORC;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SY)
|
|
|
|
|
|
:: Reregister the BITS files and the Windows Update files
|
|
cd /d %windir%\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
|
|
netsh winsock reset
|
|
netsh winsock reset proxy
|
|
|
|
:: Set the startup type as automatic
|
|
sc config wuauserv start= auto
|
|
sc config bits start= auto
|
|
sc config DcomLaunch start= auto
|
|
|
|
:Start
|
|
net start bits
|
|
net start wuauserv
|
|
net start cryptsvc
|
|
|
|
:: Restart computer
|
|
cls
|
|
echo It is required to restart the computer to finish resetting Windows Update.
|
|
echo.
|
|
echo Please save and close anything open now, before the computer is restarted.
|
|
echo.
|
|
pause
|
|
echo.
|
|
echo.
|
|
echo.
|
|
echo *** Restart computer now. ***
|
|
echo.
|
|
pause
|
|
shutdown /r /f /t 0 |