Zum Hauptinhalt springen

Fehlerbehebung für Windows-Updates

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

Heute aktualisiert

Level verwendet die Microsoft Windows Update Agent (WUA) API zur Erkennung und Verwaltung von Patches. Wenn Sie unerwartete Patch-Zahlen, fehlende Updates oder keine Updates sehen, sind die zwei häufigsten Ursachen Ergebnisat-Unterschiede zwischen WUA und anderen Update-Quellen sowie verbleibende WSUS-Konfigurationen, die Geräte weg von Microsofts Update-Servern umleiten.


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-Historie überein. Vergleichen Sie die beiden nicht direkt — sie beziehen sich aus unterschiedlichen 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 Abweichung liegt in der WUA-Ebene selbst.


Diagnose von WSUS-bezogenen Problemen

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

Überprüfen Sie auf WSUS-Konfiguration

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

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

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

Entfernen Sie WSUS-Einstellungen

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

⚠️ WARNUNG: Testen Sie auf einem einzelnen Gerät, bevor Sie es in der Produktion bereitstellen. Wenn das GPO, das WSUS konfiguriert hat, noch aktiv ist, werden die Einstellungen bei der nächsten Richtlinienaktualisierung zurückkehren. Das Entfernen des GPO ist die einzige dauerhafte Lösung.

PowerShell

# Stoppen Sie die BITS- und Windows Update-Dienste
Stop-Service -Name BITS, wuauserv -Force

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

# Entfernen Sie den SoftwareDistribution-Ordner
Remove-Item "$env:SystemRoot\SoftwareDistribution\" -Recurse -Force -ErrorAction SilentlyContinue

# Starten Sie die BITS- und Windows Update-Dienste
Start-Service -Name BITS, wuauserv

# Optional, setzen Sie die Windows Update-Client-Einstellungen zurück
# Dieser Schritt stellt sicher, dass sich der Client neu registriert und auf Updates aus der richtigen Quelle prüft
$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 WUA bei der nächsten Synchronisierung erneut ab. Updates von Microsofts Servern sollten ab diesem Punkt angezeigt werden.

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


FAQ

  • Level zeigt Updates an, aber die Windows Update-Historie sagt, dass sie bereits installiert sind. Wer hat recht? Beide könnten richtig sein. Level fragt direkt die WUA API ab; die Windows Update-Historie liest aus einem separaten Protokoll. Die obigen WUA PowerShell-Befehle sind die Quelle der Wahrheit für das, was Level sieht. Wenn diese Befehle die gleichen Patches zurückgeben, die Level anzeigt, funktioniert Level ordnungsgemäß.

  • Das WSUS-Bereinigungs-Skript wurde ausgeführt, aber die Geräte verweisen immer noch auf WSUS. Das GPO, das 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. Kehren oder deaktivieren Sie zuerst das GPO.

  • Nach dem Entfernen der WSUS-Konfiguration, wie lange bis Level Updates anzeigt? Level fragt WUA beim nächsten Geräteeinchecken erneut ab. In den meisten Fällen werden aktualisierte Patch-Daten innerhalb weniger Minuten nach der Wiederverbindung des Geräts oder dem Polling des Agenten angezeigt.

  • Kann ich das WSUS-Bereinigungs-Skript auf alle betroffenen Geräte gleichzeitig ausführen? Ja. Speichern Sie es als Skript in Automatisierungen → Skripte, führen Sie es dann über eine Automatisierung auf die relevanten Geräte ab oder über einen Ad-hoc-Lauf aus der Geräteliste.

Hat dies deine Frage beantwortet?