Làm cách nào tôi có thể truy vấn hệ thống của mình thông qua dòng lệnh để xem bản vá KB có được cài đặt không?


Câu trả lời:


64

Ngoài ra systeminfocòn có wmic qfe

Thí dụ:

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

Ngoài ra còn có update.exe

Hoặc từ powershell, chỉ cần điều chỉnh nó cho nhu cầu của bạn:

Get-WmiObject -query 'select * from win32_quickfixengineering' | foreach {$_.hotfixid}

3
Làm thế nào tôi đã làm điều đó trong quá khứ. Thực sự dễ dàng với psexec, nhưng hãy nhớ rằng lệnh find có thể không hoạt động trừ khi bạn chỉ định thiết bị xuất chuẩn thay vì các crap lai kỳ lạ wmicphun ra một cách thường xuyên. wmic /output:stdout qfe get hotfixid | find "KB99999".
songei2f

Tôi có cần chạy nó với tư cách quản trị viên không? Có vẻ như những nơi khác nói với tôi rằng tôi cần. Vì vậy tôi muốn kiểm tra.
Jose

Vì bất kỳ lý do gì, sử dụng "find" sẽ khiến tôi gặp lỗi định dạng không chính xác. Đã thử báo giá đơn và đôi.
Scott

@Scott (và những người khác gặp phải vấn đề tương tự): Lệnh tìm lệnh PS yêu cầu một tham số. Find.exe bạn chạy từ cmd thì không.
Mastacheata

17

PowerShell 2.0 chứa lệnh ghép ngắn get-hotfix, đây là một cách dễ dàng để kiểm tra xem một hotfix đã cho có được cài đặt trên máy tính cục bộ hoặc máy tính từ xa không. Một ví dụ về cú pháp cơ bản là

get-hotfix -id KB974332

Điều này không có trong v4
StingyJack

Nó chắc chắn có mặt trong v5.1. Và đây là trang trợ giúp: docs.microsoft.com/en-gb/powershell/module/ mẹo
Ant

6

chạy "systeminfo" trong cửa sổ CMD và nó sẽ kéo lại một tải các số liệu thống kê về hệ thống của bạn bao gồm các bản vá được cài đặt.


3

Một số khả năng khác: Grep% Windir% \ Windowsupdate.log cho số KB. Hoặc sử dụng reg.exe để xuất các khóa cài đặt tương ứng.


1
Windows của tôi không đi kèm grep. Tôi phải sử dụng find.
jscott

@jscott: Tôi biết rằng grep không chuẩn trên Windows :-) Tìm hoặc findstr sẽ phù hợp hơn. Nhưng tôi đã sử dụng từ grep ở đây như trong "to grep" để chỉ quá trình thay cho nghĩa đen của tiện ích "grep". Sử dụng grep như một động từ rất phổ biến trong các vòng tròn Unix mà tôi thường hoạt động, vì vậy tôi đã sử dụng thuật ngữ này ít nhiều mà không nghĩ rằng nó có vẻ kỳ quặc với một anh chàng Windows.
Tonny

Đánh giá cao đây là một câu trả lời cũ nhưng% Windir% \ Windowsupdate.log dường như chỉ hiển thị các bản cập nhật cho tháng qua. Có lẽ bởi vì nó được cấu hình để khởi động sau thời gian đó nhưng tôi chỉ chỉ ra rằng trong một số trường hợp không tìm thấy nó trong nhật ký đó có thể không cho thấy nó vắng mặt trong hệ thống.
glaucon

0
wmic qfe list /format:htable>C:\PatchList%Computername%.html

Lệnh trên sẽ cho đầu ra ở định dạng html.


0

Như ai đó đã hỏi về việc sử dụng wmic tại dấu nhắc PowerShell, chỉ cần sử dụng Chuỗi chọn (hoặc sls).

wmic qfe get hotfixid | sls "KB99999"

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.