Estou procurando descobrir se um KB está instalado via linha de comando.
Estou procurando descobrir se um KB está instalado via linha de comando.
Além de systeminfo
haver também
wmic qfe
Exemplo:
wmic qfe get hotfixid | find "KB99999"
wmic qfe | find "KB99999"
Há também update.exe
Ou no PowerShell, basta ajustá-lo às suas necessidades:
Get-WmiObject -query 'select * from win32_quickfixengineering' | foreach {$_.hotfixid}
O PowerShell 2.0 contém o cmdlet get-hotfix, que é uma maneira fácil de verificar se um determinado hotfix está instalado no computador local ou remoto. Um exemplo da sintaxe básica é
get-hotfix -id KB974332
execute "systeminfo" em uma janela do CMD e ele recuará uma carga de estatísticas sobre seu sistema, incluindo quais patches estão instalados.
Algumas outras possibilidades: Grep% windir% \ Windowsupdate.log para o número da KB. Ou use reg.exe para exportar as chaves de instalação correspondentes.
grep
. Eu tenho que usar find
.
wmic qfe list /format:htable>C:\PatchList%Computername%.html
O comando acima fornecerá a saída no formato html.
Como alguém perguntou sobre o uso do wmic em um prompt do PowerShell, basta usar a String de seleção (ou sls).
wmic qfe get hotfixid | sls "KB99999"
wmic
lançada regularmente.wmic /output:stdout qfe get hotfixid | find "KB99999"
.