Zum Hauptinhalt springen

Windows Update Troubleshooting

Diagnostizieren Sie Windows Update-Probleme in Level, einschließlich WUA-Ergebnisdiskrepanzen und verbleibender WSUS-Konfiguration.

Einführung

Level verwendet die Microsoft Windows Update Agent (WUA) API zum Erkennen und Verwalten von Patches. Wenn Sie unerwartete Patch-Zahlen, fehlende Updates oder überhaupt keine Updates sehen, sind die beiden häufigsten Ursachen Ergebniemenge-Unterschiede zwischen WUA und anderen Update-Quellen sowie verbleibende WSUS-Konfiguration, die Geräte von Microsofts Update-Servern weglenkt.


Wie Level Windows-Updates abfragt

Level fragt die Microsoft WUA API für verfügbare und installierte Patches ab. Die WUA API ist dieselbe, die Windows intern verwendet, aber ihre Ergebnisse stimmen nicht mit der Windows Update-Verlauf überein. Vergleichen Sie die beiden nicht direkt — sie ziehen aus verschiedenen Datenspeichern.

Um genau zu sehen, was die WUA API für ein bestimmtes Gerät zurückgibt, führen Sie diese Befehle in PowerShell aus.

Installierte Patches:

$Session = New-Object -ComObject Microsoft.Update.Session
$Searcher = $Session.CreateUpdateSearcher()
$Searcher.Search("IsInstalled=1").Updates | ft -a title

Ausstehende Patches:

$Session = New-Object -ComObject Microsoft.Update.Session
$Searcher = $Session.CreateUpdateSearcher() $Searcher.Search("IsInstalled=0").Updates | ft -a title

Wenn Levels Patch-Liste dem entspricht, was diese Befehle zurückgeben, funktioniert Level ordnungsgemäß. Jede Diskrepanz liegt in der WUA-Schicht selbst.


Diagnose von WSUS-bezogenen Problemen

Wenn Level keine verfügbaren Updates anzeigt und die WUA-Befehle oben ebenfalls nichts zurückgeben, ist eine verbleibende WSUS-Konfiguration die wahrscheinliche Ursache. Geräte, die noch auf einen WSUS-Server zeigen, fragen Microsofts Update-Server nicht ab, daher hat Level nichts zu berichten.

Auf WSUS-Konfiguration überprüfen

Führen Sie dies in PowerShell aus, um die Windows Update-Registrierungsschlüssel zu überprüfen:

Get-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate"

Wenn die Ausgabe Verweise auf eine WSUS-Server-Adresse enthält, wurde das Gerät nicht neu konfiguriert.

WSUS-Einstellungen entfernen

Die richtige Lösung besteht darin, das Gruppenrichtlinienobjekt zu rückgängig zu machen, das ursprünglich WSUS auf die Geräte verschoben hat. Falls dies nicht möglich ist, entfernt das folgende Skript die WSUS-Client-Einstellungen manuell:

⚠️ WARNUNG: Testen Sie auf einem einzelnen Gerät, bevor Sie in der Produktion bereitstellen. Wenn die Gruppenrichtlinie, die WSUS konfiguriert hat, noch aktiv ist, erscheinen die Einstellungen bei der nächsten Richtlinienaktualisierung erneut. Das Entfernen der Gruppenrichtlinie ist die einzige dauerhafte Lösung.

PowerShell

# Stop the BITS and Windows Update services
Stop-Service -Name BITS, wuauserv -Force

# Remove WSUS client configuration properties
$wsusProperties = @("AccountDomainSid", "PingID", "SusClientId", "SusClientIDValidation")
foreach ($property in $wsusProperties) {
Remove-ItemProperty -Name $property -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\" -ErrorAction SilentlyContinue
}

# Remove the SoftwareDistribution folder
Remove-Item "$env:SystemRoot\SoftwareDistribution\" -Recurse -Force -ErrorAction SilentlyContinue

# Start the BITS and Windows Update services
Start-Service -Name BITS, wuauserv

# Optionally, reset the Windows Update client settings
# This step ensures that the client re-registers and checks for updates from the correct source
$wuaucltPath = "$env:SystemRoot\System32\wuauclt.exe"
if (Test-Path -Path $wuaucltPath) {
Start-Process -FilePath $wuaucltPath -ArgumentList "/resetauthorization /detectnow" -NoNewWindow
} else {
Write-Output "wuauclt.exe not found. Ensure the Windows Update client is available."
}

Nach der Ausführung fragt Level die WUA beim nächsten Synchronisieren erneut ab. Updates von Microsofts Servern sollten ab dann erscheinen.

💡 TIPP: Speichern Sie dies als Skript in Levels Skriptbibliothek, um es über eine Automation auf mehreren Geräten gleichzeitig bereitzustellen, anstatt es manuell auszuführen.


FAQ

  • Level zeigt Updates, aber Windows Update-Verlauf sagt, sie sind bereits installiert. Wer hat recht? Beide können richtig sein. Level fragt die WUA API direkt ab; die Windows Update-Verlauf liest aus einem separaten Log. Die WUA PowerShell-Befehle oben sind die Grundwahrheit für das, was Level sieht. Wenn diese Befehle dieselben Patches zurückgeben, die Level anzeigt, funktioniert Level korrekt.

  • Das WSUS-Bereinigungsskript wurde ausgeführt, aber Geräte zeigen immer noch auf WSUS. Die Gruppenrichtlinie, die WSUS konfiguriert hat, ist wahrscheinlich noch aktiv. Das Skript entfernt die aktuellen Registrierungswerte, aber die Richtlinie wendet sie bei der nächsten Aktualisierung erneut an. Heben Sie die Gruppenrichtlinie zuerst auf oder deaktivieren Sie sie.

  • Nach dem Entfernen der WSUS-Konfiguration, wie lange dauert es, bis Level Updates anzeigt? Level fragt die WUA beim nächsten Geräteeincheckungs-Zyklus erneut ab. In den meisten Fällen erscheinen aktualisierte Patch-Daten innerhalb weniger Minuten nach der Wiederverbindung des Geräts oder des Agent-Abrufens.

  • Kann ich das WSUS-Bereinigungsskript gleichzeitig auf allen betroffenen Geräten ausführen? Ja. Speichern Sie es als Skript unter Automationen → Skripte , führen Sie es dann über eine Automation aus, die auf relevante Geräte abzielt, oder über einen Ad-Hoc-Lauf aus der Geräteliste.

Hat dies deine Frage beantwortet?