Bagaimana saya bisa menanyakan sistem saya melalui baris perintah untuk melihat apakah patch KB diinstal?

Jawaban:

64

Selain systeminfoada juga wmic qfe

Contoh:

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

Ada juga update.exe

Atau dari PowerShell, sesuaikan saja untuk kebutuhan Anda:

Get-WmiObject -query 'select * from win32_quickfixengineering' | foreach {$_.hotfixid}
Skrap
sumber
3
Bagaimana saya melakukannya di masa lalu. Sangat mudah dengan psexec, tetapi perlu diingat bahwa perintah find mungkin tidak berfungsi kecuali jika Anda menentukan stdout alih-alih omong kosong hibrida yang aneh wmicdimuntahkan secara teratur. wmic /output:stdout qfe get hotfixid | find "KB99999".
songei2f
Apakah saya perlu menjalankannya sebagai administrator? Sepertinya tempat lain memberi tahu saya bahwa saya memang butuh. Jadi saya ingin memeriksa.
José
Untuk alasan apa pun, menggunakan "find" memberi saya kesalahan format yang salah. Mencoba kutipan tunggal dan ganda.
Scott
@Scott (dan lainnya yang mengalami masalah yang sama): CMdlet find PS membutuhkan parameter. Find.exe yang Anda jalankan dari cmd tidak.
Mastacheata
17

PowerShell 2.0 berisi cmdlet get-hotfix, yang merupakan cara mudah untuk memeriksa apakah perbaikan terbaru yang diberikan diinstal pada komputer lokal atau komputer jarak jauh. Contoh sintaks dasarnya adalah

get-hotfix -id KB974332
raeez
sumber
Ini tidak ada dalam v4
StingyJack
Pasti hadir di v5.1. Dan inilah halaman bantuan: docs.microsoft.com/en-gb/powershell/module/…
Ant
6

jalankan "systeminfo" di jendela CMD dan itu akan menarik kembali banyak statistik tentang sistem Anda termasuk patch apa yang diinstal.

ccame
sumber
3

Beberapa kemungkinan lain: Grep% windir% \ Windowsupdate.log untuk nomor KB. Atau gunakan reg.exe untuk mengekspor kunci instal yang terkait.

Tonny
sumber
1
Windows saya tidak datang grep. Saya harus menggunakan find.
jscott
@ jscott: Saya tahu bahwa grep adalah non-standar pada Windows :-) Cari atau findstr akan lebih cocok. Tetapi saya menggunakan kata grep di sini sebagai "to grep" untuk menunjukkan proses sebagai ganti arti sebenarnya dari utilitas "grep". Menggunakan grep sebagai kata kerja sangat umum di kalangan Unix tempat saya biasanya beroperasi, jadi saya menggunakan istilah ini lebih atau kurang tanpa berpikir itu mungkin terlihat aneh bagi seorang pria Windows.
Tonny
Menghargai ini adalah jawaban lama tetapi% windir% \ Windowsupdate.log tampaknya hanya menampilkan pembaruan selama sebulan terakhir. Mungkin karena itu dikonfigurasi untuk memulai setelah waktu itu, tetapi saya hanya menunjukkan bahwa dalam beberapa kasus tidak menemukannya di log itu mungkin tidak menunjukkan itu tidak ada dalam sistem.
glaucon
0
wmic qfe list /format:htable>C:\PatchList%Computername%.html

Perintah di atas akan memberikan output dalam format html.

vijay
sumber
0

Ketika seseorang bertanya tentang menggunakan wmic pada prompt PowerShell, cukup gunakan Select-String (atau sls).

wmic qfe get hotfixid | sls "KB99999"

Xopher
sumber