¿Cómo puedo consultar mi sistema a través de la línea de comando para ver si hay un parche KB instalado?

Respuestas:

64

Además de systeminfotambién hay wmic qfe

Ejemplo:

wmic qfe get hotfixid | find "KB99999"
wmic qfe | find "KB99999"

También hay update.exe

O desde powershell, solo ajústelo a sus necesidades:

Get-WmiObject -query 'select * from win32_quickfixengineering' | foreach {$_.hotfixid}
Skrap
fuente
3
Cómo lo hice en el pasado. Realmente fácil con psexec, pero tenga en cuenta que el comando de búsqueda podría no funcionar a menos que especifique stdout en lugar de la basura híbrida extraña que wmicescupe regularmente. wmic /output:stdout qfe get hotfixid | find "KB99999".
songei2f
¿Necesito ejecutarlo como administrador? Parece que otros lugares me dicen que sí necesito. Entonces quiero verificar.
José
Por alguna razón, usar "buscar" me está dando un error de formato incorrecto. Intenté comillas simples y dobles.
Scott
@Scott (y otros que se encuentran con el mismo problema): el cmdlet find PS requiere un parámetro. El find.exe que ejecuta desde cmd no lo hace.
Mastacheata
17

PowerShell 2.0 contiene el cmdlet get-hotfix, que es una manera fácil de verificar si una determinada revisión está instalada en la computadora local o en una computadora remota. Un ejemplo de la sintaxis básica es

get-hotfix -id KB974332
raeez
fuente
Esto no está presente en v4
StingyJack
Definitivamente está presente en v5.1. Y aquí está la página de ayuda: docs.microsoft.com/en-gb/powershell/module/…
Ant
6

ejecute "systeminfo" en una ventana CMD y retirará una carga de estadísticas sobre su sistema, incluidos los parches instalados.

llegó
fuente
3

Algunas otras posibilidades: Grep% windir% \ Windowsupdate.log para el número KB. O use reg.exe para exportar las claves de instalación correspondientes.

Tonny
fuente
1
Mi Windows no vino con grep. Tengo que usar find.
jscott
@jscott: Sé que grep no es estándar en Windows :-) Buscar o find sería más adecuado. Pero usé la palabra grep aquí como "to grep" para indicar el proceso en lugar de significar literalmente la utilidad "grep". Usar grep como verbo es muy común en los círculos de Unix en los que normalmente opero, así que usé el término más o menos sin pensar que podría parecer extraño para un chico de Windows.
Tonny
Aprecio que esta es una respuesta anterior, pero el% windir% \ Windowsupdate.log solo parece mostrar actualizaciones del mes pasado. Quizás porque está configurado para salir después de ese tiempo, pero solo estoy señalando que, en algunos casos, no encontrarlo en ese registro puede no indicar que está ausente del sistema.
glaucon
0
wmic qfe list /format:htable>C:\PatchList%Computername%.html

El comando anterior dará la salida en formato html.

vijay
fuente
0

Como alguien preguntó sobre el uso de wmic en un indicador de PowerShell, simplemente use Select-String (o sls).

wmic qfe get hotfixid | sls "KB99999"

Xopher
fuente