Windows Update Repair

###############################################################
# Anleitung zur Problembehandlung bei Windows Server-Updates
# https://learn.microsoft.com/de-de/troubleshoot/windows-server/installing-updates-features-roles/troubleshoot-windows-server-update-guidance?source=recommendations

1: Identifizieren Sie das Problem, indem Sie das Ereignisprotokoll auf spezifische Fehler überprüfen:
   Systemsteuerung > Verwaltungstools
   Anwendungs- und Dienstprotokolle > Microsoft > Windows > WindowsUpdateClient>Operational
2. überprüfen auf ausstehende Neustarts
3. Wartungsstapel-Update
    https://msrc.microsoft.com/update-guide/vulnerability/ADV990001
    ist im CU enthalten
4. Führen Sie die Windows Update-Problembehandlung für Windows durch

    Zurücksetzen: siehe oben WIndows Client
5. Verwenden Sie DISM oder die Updatebereitschaftstools zur Problembehandlung bei Windows Updates

###############################################################
# Sicherung der betreffenden VM auf dem Virtualisierer

###############################################################
# aus der Gruppe und damit OU mit WSUS in eine Gruppe / OU ohne WSUS verschieben, dann:
gpupdate /force


###############################################################
# Windows Client
# Windows Update – zusätzliche Ressourcen
# https://learn.microsoft.com/de-de/troubleshoot/windows-client/installing-updates-features-roles/additional-resources-for-windows-update


# Manuelles Zurücksetzen von Windows Update-Komponenten
# Beenden Sie den BITS-Dienst, den Windows Update-Dienst und den Kryptografiedienst.
net stop bits
net stop wuauserv
net stop cryptsvc

# Löschen Sie die qmgr*.dat-Dateien .
Del "%ALLUSERSPROFILE%\Application Data\Microsoft\Network\Downloader\qmgr*.dat"

Benennen Sie die folgenden Ordner in *.BAK:
Ren %Systemroot%\SoftwareDistribution\DataStore DataStore.bak
Ren %Systemroot%\SoftwareDistribution\Download Download.bak
Ren %Systemroot%\System32\catroot2 catroot2.bak

# Setzen Sie den BITS-Dienst und den Windows Update-Dienst auf den Standardsicherheitsdeskriptor zurück
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)

# Registrieren Sie die BITS-Dateien und die Windows Update-Dateien erneut.
cd /d %windir%\system32

regsvr32.exe atl.dll
regsvr32.exe urlmon.dll
regsvr32.exe mshtml.dll
regsvr32.exe shdocvw.dll
regsvr32.exe browseui.dll
regsvr32.exe jscript.dll
regsvr32.exe vbscript.dll
regsvr32.exe scrrun.dll
regsvr32.exe msxml.dll
regsvr32.exe msxml3.dll
regsvr32.exe msxml6.dll
regsvr32.exe actxprxy.dll
regsvr32.exe softpub.dll
regsvr32.exe wintrust.dll
regsvr32.exe dssenh.dll
regsvr32.exe rsaenh.dll
regsvr32.exe gpkcsp.dll
regsvr32.exe sccbase.dll
regsvr32.exe slbcsp.dll
regsvr32.exe cryptdlg.dll
regsvr32.exe oleaut32.dll
regsvr32.exe ole32.dll
regsvr32.exe shell32.dll
regsvr32.exe initpki.dll
regsvr32.exe wuapi.dll
regsvr32.exe wuaueng.dll
regsvr32.exe wuaueng1.dll
regsvr32.exe wucltui.dll
regsvr32.exe wups.dll
regsvr32.exe wups2.dll
regsvr32.exe wuweb.dll
regsvr32.exe qmgr.dll
regsvr32.exe qmgrprxy.dll
regsvr32.exe wucltux.dll
regsvr32.exe muweb.dll
regsvr32.exe wuwebv.dll

# Setzen Sie Winsock zurück
netsh winsock reset

# Starten Sie den BITS-Dienst, den Windows Update-Dienst und den Kryptografiedienst neu.
net start bits
net start wuauserv
net start cryptsvc

# bei Fehler 0x80073701
# https://www.andysblog.de/windows-server-fehler-0x80073701-oder-0x800f0831-bei-windows-updates
# Systemdateien prüfen und reparieren
sfc /scannow
DISM /Online /Cleanup-Image /CheckHealth
DISM /Online /Cleanup-Image /ScanHealth
DISM /Online /Cleanup-Image /RestoreHealth

dism /online /cleanup-image /startcomponentcleanup

###############################################################
# dann wieder in die Gruppe / OU mit WSUS verschieben und ein:
gpupdate /force

###############################################################
# oder diese Vorgehensweise:
###############################################################
# https://borncity.com/blog/2025/11/19/windows-server-2019-2022-fehler-0x80073701-bei-november-2025-updates/

# Script erstellen und als Admin ausführen:
# Es markiert die beschädigten Pakete als fehlend.
# Nach Ausführen des Scripts ist Windows Server neu zu starten
# und die Update-Installation zu wiederholen.
################## Script #####################################
$name = 'CurrentState'
$check=(get-childitem -Path 'HKLM:\software\microsoft\windows\currentversion\component based servicing\packages' -Recurse).Name
foreach($check1 in $check)
{
$check2=$check1.replace("HKEY_LOCAL_MACHINE","HKLM:")
if((Get-ItemProperty -Path $check2).$name -eq 0x50 -or (Get-ItemProperty -Path $check2).$name -eq 0x40 )
{
write-host (Get-ItemProperty -Path $check2).PSChildName
Set-ItemProperty -Path $check2 -Name $name -Value 0
}
}
################## Script #####################################


### gilt alles für Windows Server
# Beheben von Windows Update-Beschädigungen und Installationsfehlern
# https://learn.microsoft.com/de-de/troubleshoot/windows-server/installing-updates-features-roles/fix-windows-update-errors

# Beheben von Windows Update-Downloadfehlern
# https://learn.microsoft.com/de-de/troubleshoot/windows-server/installing-updates-features-roles/troubleshoot-windows-update-download-errors?source=recommendations

# Anleitung zur Problembehandlung bei Windows Server-Updates
# https://learn.microsoft.com/de-de/troubleshoot/windows-server/installing-updates-features-roles/troubleshoot-windows-server-update-guidance?source=recommendations