Determinar se o Windows HotFix foi aplicado

12

Corrigi recentemente um defeito em nosso produto aplicando o hotfix da Microsoft. Alguns de nossos clientes ainda estão relatando que o problema permanece com o hotfix aplicado. Eles estão usando laptops bem controlados e não podem simplesmente aplicar o hotfix. Quero saber se há alguma maneira de verificar se um hotfix foi aplicado.

Este artigo e este tópico sugerem que um hotfix aplicado com o programa hfx.exe aparecerá no registro em:

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

No entanto, não vejo a chave "Hotfix" em CurrentVersion (também não apliquei o hotfix no hfx.exe, apenas executei o arquivo baixado da Microsoft e ele fez o truque). Existe outra maneira de determinar se foi aplicada?

Devin
fonte
Qual versão do Windows está executando o laptop?
David
Windows 7 Enterprise
Devin
2
Esse artigo que sugere procurar no registro é para o Windows NT 4.0, e é isso. Presumo que você não esteja executando o NT 4.0. ;)
Ƭᴇcʜιᴇ007
2
Touche good sir :)
Devin

Respostas:

11

Você pode ver quais atualizações foram instaladas em um computador, indo em Adicionar / Remover Programas e clicando em Exibir atualizações instaladas . A caixa de pesquisa é muito útil aqui.

Atualizações Atualizações

David
fonte
Sim, eu acabei de perceber isso sozinho. Eu não pensei que hotfixes estariam lá, mas eu estava errado.
Devin
2
Embora isso realmente funcione, tentar identificar um hotfix específico pode ser doloroso. Como eu já sabia desse método, fui com a solução PowerShell 2.0 da @oleschri, que funcionou muito bem.
Lankymart
1
Lembre-se de que você pode procurar um número de hotfix específico usando a barra de pesquisa no canto superior direito.
Stevoisiak
9

Você pode usar o PowerShell 2.0 ou superior para detectar quais hotfixes estão instalados.

PS> Get-HotFix

Para detectar se um hotfix específico (por exemplo, KB2799904) está instalado, escreva:

PS> Get-HotFix -ID "KB2799904"

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

Se isso retornar pelo menos um objeto, o hotfix está instalado.

Você também pode especificar um computador remoto com o -ComputerNameparâmetro se tiver permissões suficientes nesse computador.

oleschri
fonte
1
Melhor: Get-HotFix -ID KB2799904. Isso pode até correr um pouco mais rápido se for traduzido em um filtro WMI, em vez de ser filtrado após o fato.
Christian
@Christian Atualizei a resposta.
Oleschri 08/09/2015
2
Você nem precisa especificar -IDcomo parâmetro, o padrão é o mesmo. Soget-hotfix kb2799904
Nacht - Reinstate Monica
3

O artigo da KB do hotfix deve mostrar informações do arquivo para o que está sendo atualizado. Eles fornecem números de versão, tamanhos de arquivo e carimbos de data e hora esperados. Se seus arquivos corresponderem aos (ou são mais novos), você aplicou a correção (ou uma mais nova que incorpora a mais antiga).

Por exemplo (de KB923293 ):

insira a descrição da imagem aqui

Ƭᴇcʜιᴇ007
fonte
2
Essa é praticamente a única maneira que sei fazer isso. lembre-se de que as versões e datas dos arquivos podem ser alteradas no futuro. Lembre-se disso.
Ramhound
Como você saberia quais arquivos verificar (se não todos)? Suponha que as atualizações A e B atualizem o arquivo F para a versão X. Mas apenas a atualização B contém uma correção crítica para o arquivo G (que é desconhecido para você) no qual você está interessado. Como você usaria esse método para garantir que o arquivo G tem o correção crítica sem saber o que é o arquivo G?
Florian Winter
2

Como uma maneira mais genérica (ou com script) de fazer isso, você pode empregar o systeminfoque imprime uma seção com uma lista de hotfixes instalados:

C:\Users\user> systeminfo
[...]
Hotfix(s):                 88 Hotfix(s) Installed.
                           [01]: KB2032276
                           [02]: KB2296011
                           [03]: KB2305420
[...]
syneticon-dj
fonte
O problema desse método é que a lista de atualizações está potencialmente incompleta. Na verdade, eu já me deparei com isso no Win7. Parece atingir o máximo de 245 atualizações. Explicação possível: support.microsoft.com/en-us/help/2644427/…
Jimadine
0

Use este comando WMIC em um prompt de comando elevado para obter uma lista de todos os hotfixes instalados. Isso não incluirá nenhuma atualização excluída usando a Limpeza de disco> arquivos do sistema de limpeza> limpeza do Windows Update.

wmic qfe

Moab
fonte
-1

Nenhuma das opções acima me deu satisfação. Tentei reinstalar e o KBxxxx foi "já instalado", o que é um bom método de prova,

JohnP4216
fonte