Determine si se ha aplicado Windows HotFix

12

Recientemente solucioné un defecto en nuestro producto aplicando la revisión de Microsoft. Algunos de nuestros clientes aún informan que el problema persiste con la revisión aplicada. Están utilizando computadoras portátiles bastante controladas y no pueden aplicar la revisión ellos mismos. Quiero saber si hay alguna forma de verificar si se ha aplicado una revisión.

Este artículo y este hilo sugieren que una revisión aplicada con el programa hfx.exe aparecerá en el registro en:

  • HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows NT \ CurrentVersion \ Hotfix \ KB nnnn .

Sin embargo, no veo ninguna tecla "Hotfix" en CurrentVersion (además, no apliqué el hotfix con hfx.exe, simplemente ejecuté el archivo que descargué de Microsoft y funcionó). ¿Hay otra forma de determinar si se ha aplicado?

Devin
fuente
¿Qué versión de Windows ejecuta la computadora portátil?
David
Windows 7 Enterprise
Devin
2
Ese artículo que sugiere buscar en el registro es para Windows NT 4.0, y eso es todo. Supongo que no estás ejecutando NT 4.0. ;)
Ƭᴇcʜιᴇ007
2
Touche buen señor :)
Devin

Respuestas:

11

Puede ver qué actualizaciones se han instalado en una computadora yendo a Agregar o quitar programas y luego haciendo clic en Ver actualizaciones instaladas . El cuadro de búsqueda es muy útil aquí.

Actualizaciones Actualizaciones

David
fuente
Sí, me di cuenta de eso. No pensé que las revisiones estarían allí, pero estaba equivocado.
Devin
2
Aunque esto realmente funciona, tratar de identificar un Hotfix particular puede ser doloroso. Como ya sabía, este método fue con la solución PowerShell 2.0 de @oleschri, que funcionó muy bien.
Lankymart
1
Recuerde que puede buscar un número de revisión específico utilizando la barra de búsqueda superior derecha.
Stevoisiak
9

Puede usar PowerShell 2.0 o superior para detectar qué revisiones están instaladas.

PS> Get-HotFix

Para detectar si está instalada una revisión específica (por ejemplo, KB2799904), escriba:

PS> Get-HotFix -ID "KB2799904"

PS> Get-HotFix | where { $_.HotFixID -eq "KB2799904" }

Si esto devuelve al menos un objeto, se instala la revisión.

También puede especificar una computadora remota con el -ComputerNameparámetro si tiene permisos suficientes en esa computadora.

oleschri
fuente
1
Mejor: Get-HotFix -ID KB2799904. Eso incluso puede correr un poco más rápido si se traduce en un filtro WMI en lugar de filtrar después del hecho.
Christian
@ Christian Actualicé la respuesta.
oleschri
2
Ni siquiera necesita especificarlo -IDcomo parámetro, ya que está predeterminado. Soget-hotfix kb2799904
Nacht - Restablece a Monica
3

El artículo KB de la revisión debe mostrar información del archivo de lo que se está actualizando. Proporcionan números de versión, tamaños de archivo y marcas de tiempo esperadas. Si sus archivos coinciden con esos (o son más nuevos), entonces tiene la corrección (o una más nueva que incorpora la anterior) aplicada.

Por ejemplo (de KB923293 ):

ingrese la descripción de la imagen aquí

Ƭᴇcʜιᴇ007
fuente
2
Esta es prácticamente la única forma en que sé cómo hacer esto. tenga en cuenta que las versiones y las fechas de los archivos podrían cambiarse en el futuro, así que tenga esto en cuenta.
Ramhound
¿Cómo sabría qué archivos verificar (si no todos)? Suponga que las actualizaciones A y B actualizan el archivo F a la versión X. Pero solo la actualización B contiene una solución crítica al archivo G (que desconoce) que le interesa. ¿Cómo usaría este método para asegurarse de que el archivo G tenga solución crítica sin saber qué archivo es G?
Florian Winter
2

Como una forma más genérica (o programable) de hacer esto, puede emplear systeminfolo que imprime una sección con una lista de revisiones instaladas:

C:\Users\user> systeminfo
[...]
Hotfix(s):                 88 Hotfix(s) Installed.
                           [01]: KB2032276
                           [02]: KB2296011
                           [03]: KB2305420
[...]
syneticon-dj
fuente
El problema con este método es que la lista de actualizaciones está potencialmente incompleta. De hecho, me he encontrado con esto en Win7. Parece que alcanza un máximo de 245 actualizaciones. Posible explicación: support.microsoft.com/en-us/help/2644427/…
Jimadine
0

Use este comando WMIC en un símbolo del sistema elevado para obtener una lista de todas las revisiones instaladas. Esto no incluirá ninguna actualización que se haya eliminado usando Liberador de espacio en disco> limpiar archivos del sistema> limpieza de actualizaciones de Windows.

wmic qfe

Moab
fuente
-1

Nada de lo anterior me dio satisfacción, así que intenté volver a instalarlo y apareció KBxxxx "ya instalado", por lo que es un buen método de prueba,

JohnP4216
fuente