Deinstallierte Programme werden weiterhin im WMI-Objekt „WIN32_InstalledStoreProgram“ angezeigt?

Deinstallierte Programme werden weiterhin im WMI-Objekt „WIN32_InstalledStoreProgram“ angezeigt?

Hinweis: Dies ist ein erneuter Beitrag eines Originalbeitrags auf StackOverflow. Ich wurde von einem hilfreichen Benutzer hierher geleitet und poste ihn einfach erneut.

Aufgrund dieses lästigen Problems habe ich zum ersten Mal ein StackOverflow-Konto erstellt. Ich habe bei meinem aktuellen Job Schwachstellen auf einer Test-PC-VM behoben, um einige neue Verfahren zu testen, und eine der Schwachstellen betraf die vorinstallierte Anwendung „Paint3D“ (Insbesondere QID 91774für Interessierte). Kurz gesagt, die Sicherheitslücke war einfach eine „veraltete App-Version“. Nachdem ich Paint3D auf die neueste Version aktualisiert und dies mit Powershell bestätigt hatte, bemerkte ich, dass unsere Schwachstellenmanagement-Software Paint3D immer wieder als veraltete Version erkannte. Die Sicherheitslücke wurde durch Abfragen des WMI-Objekts „WIN32_InstalledStoreProgram“ wie folgt erkannt: Ausschnitt aus der Methode „Threat Detection Logic“Nachdem ich festgestellt hatte, dass diese Sicherheitslücke auch nach dem Update auf die neueste Version weiterhin besteht, habe ich Paint3D einfach über das Menü „Einstellungen > Apps“ deinstalliert.

Als ich dasselbe WMI-Objekt manuell mit den Powershell-Befehlen „Get-WmiObject Win32_InstalledStoreProgram“ und „Get-WmiObject Win32_InstalledStoreProgram | Format-List -Property Name, Version“ abfragte, bemerkte ich, dass es zwei Einträge für die von mir deinstallierte App (Microsoft.MSPaint) gab. Einer war die alte Version, von der ich aktualisiert hatte, der andere war die neue Version, auf die ich aktualisiert hatte. Beide wurden deinstalliert und die Deinstallation bestätigt. Ich deinstallierte eine separate App (Weather), um zu sehen, ob das WMI-Objekt vielleicht nicht automatisch aktualisiert wird, aber nach der Deinstallation und Bestätigung mit den obigen Powershell-Befehlen wurde die Deinstallation der Weather-App bestätigt und als Eintrag im WMI-Objekt entfernt, während die beiden unterschiedlichen Versionen von Microsoft.MSPaint bestehen blieben. Ich deinstallierte auch die normale Version von „Paint“, falls dies das Problem war, aber die beiden Einträge blieben bestehen.

Jetzt kommt der schwierige Teil. Der Microsoft Store gibt mir jedes Mal, wenn ich versuche, Paint3D zu installieren, unterschiedliche Fehlermeldungen. Ich glaube, das liegt daran, dass der MS Store auch dasselbe WMI-Objekt abfragt und, da ich zwei „Versionen“ von „Paint3D“ habe, nichts installiert. Ich bin mit diesem winzigen Problem am Ende meiner Kräfte. Die Lösung, die ich implementieren möchte, besteht nur darin, diese VM zu löschen und die Verfahren zur Behebung der Schwachstellen fortzusetzen, aber ich möchte wirklich verstehen, warum das passiert und was dieses Problem möglicherweise verursacht. Ich habe einige Dokumentationen zum manuellen Bearbeiten und Aktualisieren von WMI-Objekten gelesen, weiß jedoch nicht genug über WMI oder WMI-Objekte, um sicher und effektiv vorzugehen. Es ist so eine einfache Aufgabe: Paint3D aktualisieren oder deinstallieren. Ich hatte einfach keine Ahnung, dass ich darauf stoßen würde, und möchte zumindest verstehen, was passiert.

Ausschnitt eines WMI-Objekts, das eine veraltete MSPaint-Version zeigt Ausschnitt eines WMI-Objekts, das die aktuelle MSPaint-Version zeigt, Paint3D wird jedoch vollständig deinstalliert

Bearbeitung 1, 01.09.2021, 00:20 Uhr: Nur eine Nachbemerkung: Ich habe versucht, meinen AD-Benutzer aus dem System zu entfernen und eine saubere Anmeldung zu erhalten, aber Paint3D wurde trotzdem gelöscht und der Microsoft Store war immer noch nicht funktionsfähig. Dieses Problem betrifft nur diesen bestimmten Desktop.

Antwort1

Mein Problem war mit der HEVCVideoExtension, aber ansonsten ähnlich. Ich habe es folgendermaßen über eine Admin-PowerShell-Eingabeaufforderung versucht:

Den vollständigen Paketnamen erhalten Sie mit: Get-AppxPackage -AllUsers -Name "Microsoft.HEVCVideoExtension"

Versuchen Sie Folgendes mit dem vollständigen Paketnamen Microsoft.HEVCVideoExtension_1.0.41483.0_x64__8wekyb3d8bbwe:

Remove-AppxPackage -AllUsers -Package "Microsoft.HEVCVideoExtension_1.0.41483.0_x64__8wekyb3d8bbwe"

In meinem Fall schlug dies fehl, weil die Installation der alten/veralteten Version unter einem auf der Maschine nicht mehr installierten Benutzerkonto erfolgte.

Also habe ich einen vollständigen Windows Store-Reset durchgeführt:

WSReset.exe

Anschließend habe ich den Befehl erneut ausgeführt, Get-AppxPackageum zu bestätigen, dass das Zurücksetzen funktioniert hat. Und das hat es.

Als ich den Windows Store das nächste Mal startete, dauerte die Initialisierung ewig, funktionierte aber.

Antwort2

Windows-Bloatware kann tückisch sein. Versuchen Sie, sie mit PowerShell zu entfernen.

Führen Sie PowerShell als Administrator aus und gehen Sie dann wie folgt vor:

Get-AppxPackage Microsoft.MSPaint | Remove-AppxPackage

Antwort3

Hier die Lösung, die bei uns funktioniert hat.

Es gab eine Reihe von Sicherheitslücken der Schweregrade 4 und 5 im Zusammenhang mit veralteten Windows Store-Apps. Der Sicherheitsscan bemängelte, dass wir eine alte Version von Windows Store-Anwendungen hatten. Und er fand sie beim Scannen des WMI-Objekts. Aber der Computer zeigte aktuelle Apps an. Es gab also zwei Versionen von Apps (alt und aktuell). Nichts half, das Problem zu lösen (App-Deinstallation, Windows Store-Reset usw.).

Wie das Problem entstanden ist, ist eine andere Geschichte ... Aber hier ist die Lösung. Wie in einem der Kommentare angegeben, lag es an beschädigten Benutzerprofilen.

Nehmen wir an, Sie haben:

  • QID: 91698
  • Titel: Sicherheitslücken bei der Remotecodeausführung in der Codecs-Bibliothek von Microsoft Windows
  • Scan-Ergebnisse: Microsoft hat die anfällige Version „Microsoft.WebpImageExtension“ in der Version „1.0.22753.0“ erkannt

Schritte:

  1. Bestätigen Sie, dass zwei PowerShell-Pakete vorhanden sind: Get-WmiObject -class Win32_InstalledStoreProgram | Where-Object name -like "*WebpImageExtension*"

  2. Altes Paket entfernen

PowerShell: Remove-AppxPackage -AllUsers -Package Microsoft.WebpImageExtension_1.0.22753.0_x64__8wekyb3d8bbwe.

Dies ist ein „magischer“ Schritt. Er führt zu einem Fehler 0x80070002, erstellt aber einen Eintrag in der Registrierung, den wir später benötigen: „Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Appx\AppxAllUserStore\EndOfLife\S-1-12-XXXXXXX mit Troubled packaged.“

  1. Löschen Sie den Registrierungsschlüssel Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Appx\AppxAllUserStore\EndOfLife\S-1-12-XXXXXXX mit dem Paket „Troubled“.

  2. Bestätigen Sie, dass nur noch ein PowerShell-Paket übrig ist: Führen Sie „Get-WmiObject -class Win32_InstalledStoreProgram | Where-Object name -like "*WebpImageExtension*" aus.

verwandte Informationen