Last active
June 13, 2024 21:22
-
-
Save royvou/ef4ebfd9505ade7f83d7d661e765eb3f to your computer and use it in GitHub Desktop.
Reset-WindowsUpdate.ps1 https://gallery.technet.microsoft.com/scriptcenter/Reset-WindowsUpdateps1-e0c5eb78
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
<# | |
.SYNOPSIS | |
Reset-WindowsUpdate.ps1 - Resets the Windows Update components | |
.DESCRIPTION | |
This script will reset all of the Windows Updates components to DEFAULT SETTINGS. | |
.OUTPUTS | |
Results are printed to the console. Future releases will support outputting to a log file. | |
.NOTES | |
Written by: Ryan Nemeth | |
Find me on: | |
* My Blog: http://www.geekyryan.com | |
* Twitter: https://twitter.com/geeky_ryan | |
* LinkedIn: https://www.linkedin.com/in/ryan-nemeth-b0b1504b/ | |
* Github: https://github.com/rnemeth90 | |
* TechNet: https://social.technet.microsoft.com/profile/ryan%20nemeth/ | |
Change Log | |
V1.00, 05/21/2015 - Initial version | |
V1.10, 09/22/2016 - Fixed bug with call to sc.exe | |
V1.20, 11/13/2017 - Fixed environment variables | |
#> | |
$arch = Get-WMIObject -Class Win32_Processor -ComputerName LocalHost | Select-Object AddressWidth | |
Write-Host "1. Stopping Windows Update Services..." | |
Stop-Service -Name BITS | |
Stop-Service -Name wuauserv | |
Stop-Service -Name appidsvc | |
Stop-Service -Name cryptsvc | |
Write-Host "2. Remove QMGR Data file..." | |
Remove-Item "$env:allusersprofile\Application Data\Microsoft\Network\Downloader\qmgr*.dat" -ErrorAction SilentlyContinue | |
Write-Host "3. Renaming the Software Distribution and CatRoot Folder..." | |
Rename-Item $env:systemroot\SoftwareDistribution SoftwareDistribution.bak -ErrorAction SilentlyContinue | |
Rename-Item $env:systemroot\System32\Catroot2 catroot2.bak -ErrorAction SilentlyContinue | |
Write-Host "4. Removing old Windows Update log..." | |
Remove-Item $env:systemroot\WindowsUpdate.log -ErrorAction SilentlyContinue | |
Write-Host "5. Resetting the Windows Update Services to defualt settings..." | |
"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)" | |
Set-Location $env:systemroot\system32 | |
Write-Host "6. Registering some DLLs..." | |
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 | |
Write-Host "7) Removing WSUS client settings..." | |
REG DELETE "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate" /v AccountDomainSid /f | |
REG DELETE "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate" /v PingID /f | |
REG DELETE "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate" /v SusClientId /f | |
Write-Host "8) Resetting the WinSock..." | |
netsh winsock reset | |
netsh winhttp reset proxy | |
Write-Host "9) Delete all BITS jobs..." | |
Get-BitsTransfer | Remove-BitsTransfer | |
Write-Host "10) Attempting to install the Windows Update Agent..." | |
if($arch -eq 64){ | |
wusa Windows8-RT-KB2937636-x64 /quiet | |
} | |
else{ | |
wusa Windows8-RT-KB2937636-x86 /quiet | |
} | |
Write-Host "11) Starting Windows Update Services..." | |
Start-Service -Name BITS | |
Start-Service -Name wuauserv | |
Start-Service -Name appidsvc | |
Start-Service -Name cryptsvc | |
Write-Host "12) Forcing discovery..." | |
wuauclt /resetauthorization /detectnow | |
Write-Host "Process complete. Please reboot your computer." |
No problem, great thing this got indexed 😀
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Microsoft took this script off of their website. It's beyond worth mentioning that they have no less than 5 articles referencing this script and its nowhere to be found with zero mention of why or where to find it. As someone who's been wasting the last day and a half trying to get my Windows Features functionality to work properly... I needed this script. Thank you so much for hosting this on github.