
Nota: Esta es una nueva publicación de una publicación original en StackOverflow. Un usuario útil me dirigió aquí y simplemente estoy volviendo a publicar.
Creé una cuenta de StackOverflow por primera vez debido a este molesto problema. Estaba resolviendo vulnerabilidades en una máquina virtual de PC de prueba en mi trabajo actual para probar algunos procedimientos nuevos, y una de las vulnerabilidades involucraba la aplicación preinstalada "Paint3D" (Específicamente QID 91774para los interesados). En pocas palabras, la vulnerabilidad era simplemente una "versión desactualizada de la aplicación". Después de actualizar Paint3D a la versión más reciente y confirmarlo con Powershell, noté que nuestro software de administración de vulnerabilidades seguía detectando Paint3D como una versión desactualizada. La vulnerabilidad se detectó consultando el objeto WMI "WIN32_InstalledStoreProgram", así: fragmento del método "Lógica de detección de amenazas"Después de ver que esta vulnerabilidad aún ocurre incluso después de actualizar a la versión más reciente, seguí adelante y simplemente desinstalé Paint3D a través del menú Configuración> Aplicaciones.
Cuando consulté el mismo objeto WMI manualmente usando los comandos de Powershell "Get-WmiObject Win32_InstalledStoreProgram" y "Get-WmiObject Win32_InstalledStoreProgram | Format-List -Property Name, Version" noté que había 2 entradas para la aplicación que desinstalé (Microsoft.MSPaint). Una era la versión anterior desde la que actualicé y la otra era la nueva versión a la que actualicé. Ambos fueron desinstalados y se confirmó que estaban desinstalados. Desinstalé una aplicación separada (Weather) para ver si tal vez el objeto WMI no se actualiza automáticamente, pero tras la desinstalación y confirmación usando los comandos de Powershell anteriores, se confirmó que la aplicación Weather se desinstaló y eliminó como una entrada en el objeto WMI, mientras las dos versiones diferentes de Microsoft.MSPaint permanecieron. También desinstalé la versión normal de "Paint" en caso de que ese fuera el problema, pero las dos entradas permanecen.
Ahora viene la parte complicada. Microsoft Store me muestra diferentes mensajes de error cada vez que intento instalar Paint3D. Creo que se debe a que MS Store también consulta el mismo objeto WMI y, al ver que tengo dos "versiones" de "Paint3D", no puedo instalar nada. Estoy al límite de mi ingenio con este pequeño problema. La solución que planeo implementar es simplemente borrar esta máquina virtual y continuar con los procedimientos de solución de vulnerabilidades, pero realmente quiero entender por qué sucede esto y qué podría estar causando este problema. He leído cierta documentación sobre la edición y actualización manual de objetos WMI, sin embargo, no sé lo suficiente sobre WMI o los objetos WMI para tener confianza y ser efectivo. Es una tarea muy sencilla: actualizar o desinstalar Paint3D. Simplemente no tenía idea de que me encontraría con esto y me gustaría entender al menos qué está sucediendo.
Recorte de un objeto WMI que muestra una versión obsoleta de MSPaint Recorte del objeto WMI que muestra la versión actual de MSPaint; sin embargo, Paint3D se desinstala por completo
Edición 1, 12:20 a.m. 1/9/2021: Solo un seguimiento, intenté eliminar mi usuario de AD del sistema y obtener un inicio de sesión limpio, pero Paint3D aún se eliminó y Microsoft Store aún no funcionaba. Este problema sólo es específico de ese escritorio específico.
Respuesta1
Mi problema fue con HEVCVideoExtension, pero por lo demás es similar. Lo probé de esta manera desde un mensaje de administrador de PowerShell:
Obtenga el nombre completo del paquete usando: Get-AppxPackage -AllUsers -Name "Microsoft.HEVCVideoExtension"
Con el nombre completo del paquete Microsoft.HEVCVideoExtension_1.0.41483.0_x64__8wekyb3d8bbwe
prueba esto:
Remove-AppxPackage -AllUsers -Package "Microsoft.HEVCVideoExtension_1.0.41483.0_x64__8wekyb3d8bbwe"
En mi caso, esto falló porque la instalación de la versión antigua/obsoleta se había realizado con una cuenta de usuario que ya no estaba instalada en la máquina.
Entonces hice un reinicio completo de la Tienda Windows:
WSReset.exe
Luego volví a ejecutar el Get-AppxPackage
comando para confirmar que el reinicio había funcionado. Tenía.
La siguiente vez que inicié la Tienda Windows tardó una eternidad en inicializarse, pero funcionó.
Respuesta2
El bloatware de Windows puede ser complicado; intente eliminarlo con PowerShell.
Ejecute PowerShell como administrador y luego:
Obtener-AppxPackage Microsoft.MSPaint | Eliminar-AppxPackage
Respuesta3
Aquí la solución que funcionó para nosotros.
Hubo un montón de vulnerabilidades Sev 4 y 5 asociadas con aplicaciones obsoletas de la Tienda Windows. Security Scan se quejó de que teníamos una versión antigua de las aplicaciones de la Tienda Windows. Y lo encontró escaneando el objeto WMI. Pero la máquina mostró aplicaciones actualizadas. Entonces, había dos versiones de aplicaciones (antigua y actualizada). Nada ayudó a resolverlo (desinstalación de aplicaciones, restablecimiento de la Tienda Windows, etc.).
Cómo se creó el problema es una historia diferente... Pero aquí está la solución. Como decía uno de los comentarios, se convirtió en perfiles de usuario corruptos.
Digamos que tienes:
- QID: 91698
- Título: Vulnerabilidades de ejecución remota de código de la biblioteca de códecs de Microsoft Windows
- Resultados del análisis: Microsoft vulnerable Microsoft.WebpImageExtension detectó la versión '1.0.22753.0'
Pasos:
Confirme que hay dos paquetes de PowerShell: Get-WmiObject -class Win32_InstalledStoreProgram | Donde-Nombre del objeto -como "*WebpImageExtension*"
Eliminar paquete antiguo
PowerShell: Eliminar-AppxPackage -AllUsers -Paquete Microsoft.WebpImageExtension_1.0.22753.0_x64__8wekyb3d8bbwe.
Éste es un paso "mágico". Dará como resultado un error 0x80070002, pero creará una entrada en el registro que luego necesitaremos "Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Appx\AppxAllUserStore\EndOfLife\S-1-12-XXXXXXX con el paquete Troubled ".
Elimine la clave de registro Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Appx\AppxAllUserStore\EndOfLife\S-1-12-XXXXXXX con el paquete Troubled.
Confirme que solo queda un paquete de PowerShell: ejecute Get-WmiObject -class Win32_InstalledStoreProgram | Donde-Nombre del objeto, como "*WebpImageExtension*".