Sucht man Fehler im Bezug zu den Windows Updates hilft ein Blick ins Protokoll.

In früheren Windows-Versionen war dies eine einfache Text-Datei Namens “WindowsUpdate.log” unter “C:\Windows”. Mittlerweile geht das nicht mehr ganz so einfach. Ein Protokoll kann man durch den Powershell-Befehl “Get-WindowsUpdateLog” erzeugen lassen.

Zumindest unter Windows Server 2016 kommt es allerdings zu einem Fehler, wenn der Defender deinstalliert wurde:

C:\Users\Administrator>powershell Get-WindowsUpdateLog
Copy-Item : Der Pfad "C:\Program Files\Windows Defender\SymSrv.dll" kann nicht gefunden werden, da er nicht vorhanden
ist.
In C:\Windows\system32\WindowsPowerShell\v1.0\Modules\WindowsUpdate\WindowsUpdateLog.psm1:56 Zeichen:5
+ Copy-Item -Path $SYMSRV_DLL_PATH -Destination $WORKDIR -Force -Er ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (C:\Program File...nder\SymSrv.dll:String) [Copy-Item], ItemNotFoundExce
ption
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.CopyItemCommand

Lösen lässt sich das, wenn man die Datei

C:\Windows\System32\WindowsPowerShell\v1.0\Modules\WindowsUpdate\WindowsUpdateLog.psm1

editiert und die Zeile 56 auskommentiert:

# Copy-Item -Path $SYMSRV_DLL_PATH -Destination $WORKDIR -Force -ErrorAction Stop

denn die dortige Variable verweisst auf den Defender, siehe Zeile 21:

$SYMSRV_DLL_PATH = "$env:ProgramFiles\Windows Defender\SymSrv.dll"

Damit man die Änderung speichern kann, muss man den Besitz an der Datei übernehmen!