Por que “get-hotfix” e “wmic qfe list” no Powershell faltam atualizações instaladas?

5

Estou tentando escrever um script para garantir que um determinado hotfix esteja instalado. Em um dos nossos computadores de teste que executam o Windows 8.1, get-hotfix retorna uma lista incompleta de hotfixes:

Noentanto,háváriospatchesexibidosnopaineldecontroleProgramaseRecursos:

Todas as nossas outras máquinas de teste, incluindo outras instaladas com o Windows 8.0 e 8.1, funcionam bem. Alguma ideia do porquê disso? Como posso obter uma lista completa de hotfixes do Powershell?

Editar: wmic qfe list mostra apenas os mesmos quatro hotfixes que get-hotfix também.

    
por a paid nerd 18.11.2015 / 00:08

2 respostas

9

Acredito que o comando Get-Hotfix aproveite as Win32_QuickFixEngineering Classe WMI para listar Atualizações do Windows, mas somente retorna atualizações fornecidas por Serviço Baseado em Componente (CBS) . Atualizações fornecidas pelo Microsoft Windows Installer (MSI) ou pelo site de atualização do Windows não são retornadas por Get-Hotfix / Win32_QuickFixEngineering .

Você pode tentar usar a API do Windows Update por meio do PowerShell, como no exemplo abaixo. Dê uma chance e nos informe se mostra as atualizações que faltam.

$Session = New-Object -ComObject Microsoft.Update.Session
$Searcher = $Session.CreateUpdateSearcher()
$Searcher.Search("IsInstalled=1").Updates | ft -a Date,Title

EDIT: Para pesquisar nos resultados, você pode usar o Where-Object commandlet (ou alias Where ) e filtrar por um hotfix específico:

$Searcher.Search("IsInstalled=1").Updates | Where {$_.Title -like "*KB2760587*"} | ft date,title
    
por 18.11.2015 / 19:59
1

Você precisa usar maneiras diferentes de listar as atualizações instaladas por diferentes métodos. como instalado por wsus ou configmgr

Dê uma olhada aqui

link

    
por 15.08.2017 / 23:02