-
-
Save SteversIO/212b4c34c7a9c7fed1f4e88eafd83985 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." |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment