2012-02-09 37 views
7

Làm cách nào để kiểm tra xem lần kiểm tra cập nhật cửa sổ cuối cùng được thực hiện - trong mã (C# /. Net)?Kiểm tra xem lần kiểm tra cập nhật Windows lần cuối có được thực hiện hay không

Không WHICH cập nhật hoặc chưa được cài đặt, nhưng KHI kiểm tra lần cuối được thực hiện?

Tốt nhất của tất cả sẽ là một lịch sử hoàn chỉnh khi kiểm tra các bản cập nhật cửa sổ đã được thực hiện, nhưng tôi chắc chắn có thể sống với chỉ biết kiểm tra cuối cùng.

+0

Phiên bản Windows nào (không chắc liệu phiên bản đó có quan trọng không, nhưng có thể hữu ích)? – DaveShaw

+0

Khá phổ biến/hiện đại. Tôi đoán một cái gì đó giống như Win2003 server/Vista và chuyển tiếp - 32 và 64 bit. – Kjensen

Trả lời

12

Nhìn vào khóa registry này:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\Results

Nó có 3 phím phụ rằng mỗi cung cấp thông tin khác nhau về các sự kiện khác nhau

  • Detect
  • Tải
  • Install

Mỗi khóa có giá trị LastSuccessTime bạn có thể sử dụng.

+5

Tôi không có phím 'Results' trong' AutoUpdate' trên Windows 10. – IronManMark20

+0

Tôi không chắc liệu thông tin đó có chính xác không, tôi đã kiểm tra trên hệ thống của mình và tôi đã cài đặt bản cập nhật sau giá trị tôi tìm thấy trên 'Cài đặt' khóa con. Tôi có Windows 7. Vì vậy, ít nhất đối với tôi là không đáng tin cậy. – mjsr

+1

không hoạt động trên windows 10 –

-5

Trong Windows 7, hãy vào Bảng điều khiển, Hệ thống và Bảo mật, Cập nhật Windows. Có một tùy chọn để xem lịch sử của tất cả các bản cập nhật, cung cấp thời gian và ngày của từng cập nhật.

5

Trên Windows 7, 8, 10, bạn có thể sử dụng đoạn mã sau:

var auc = new AutomaticUpdatesClass(); 

DateTime? lastInstallationSuccessDateUtc = null; 
if (auc.Results.LastInstallationSuccessDate is DateTime) 
    lastInstallationSuccessDateUtc = new DateTime(((DateTime)auc.Results.LastInstallationSuccessDate).Ticks, DateTimeKind.Utc); 

DateTime? lastSearchSuccessDateUtc = null; 
if (auc.Results.LastSearchSuccessDate is DateTime) 
    lastSearchSuccessDateUtc = new DateTime(((DateTime)auc.Results.LastSearchSuccessDate).Ticks, DateTimeKind.Utc); 
  • Reference "C: \ Windows \ System32 \ wuapi.dll".
  • Kiểm tra xem EmbeddedInteropTypes trên tham chiếu có được đặt thành Sai không.
+0

Nó cũng hoạt động trên XP. – torpederos

Các vấn đề liên quan