Lista zainstalowanych poprawek w CMD i Powershell

ps_cmd_300Jakiś czas temu podpowiedziałem jak w Wierszu Poleceń wyświetlić listę zainstalowanych programówbyło też o sterownikach. Dzisiaj podpowiadam jak wyświetlić listę zainstalowanych poprawek bezpieczeństwa. Ponownie użyjemy WMI, SystemInfo oraz Powershell’a.

Natywnie wbudowane polecenie „SYSTEMINFO” wyświetli nam tylko liczbę zainstalowanych poprawek i listę numerów KB.

Poprawki: Zainstalowane poprawki: 233
[01]: KB2849697
[02]: KB2849697
[03]: KB2849696
[04]: KB2849696
[05]: KB2841134
[06]: KB2841134
[07]: KB2670838

W Windows 7 i 8 możecie użyć też polecenia:

DISM /Online /Get-Packages

Wynik będzie podobny do tego:

Package Identity : Package_for_KB2928120~31bf3856ad364e35~amd64~~6.1.1.2
State : Staged
Release Type : Security Update
Install Time :

Package Identity : Package_for_KB2929961~31bf3856ad364e35~amd64~~6.1.1.1
State : Installed
Release Type : Security Update
Install Time : 4/8/2014 5:58 AM

Package Identity : Package_for_KB2930275~31bf3856ad364e35~amd64~~6.1.1.1
State : Installed
Release Type : Security Update
Install Time : 4/9/2014 6:09 AM

Package Identity : Package_for_KB2931356~31bf3856ad364e35~amd64~~6.1.1.0
State : Installed
Release Type : Security Update
Install Time : 6/2/2014 6:02 AM

Package Identity : Package_for_KB2936068~31bf3856ad364e35~amd64~~9.4.1.0
State : Installed
Release Type : Security Update
Install Time : 5/8/2014 6:09 AM

MAŁA DYGRESJA: ..tylko po co nam „liczba zainstalowanych poprawek”?

Możemy w bardzo prosty sposób porównywać poziom zabezpieczenia kilku maszyn, lub „na oko” ocenić, czy wszystko gra zanim maszyna zaraportuje swój status do systemu, który odpowiada za instalację patchy (WSUS, SCCM itd.). Wyobraźmy sobie sytuację, w której na przykład praktykanci instalują nam 5 identycznych maszyn – np. laptopów, które następnego ranka wyjadą na delegację, lub komputerów, które od razu trafią do wydzielonego środowiska szkoleniowego, bez możliwości późniejszego doinstalowania poprawek. Niestety systemy raportujące bywają „ospałe” i czasem potrzebują trochę czasu zanim poprawnie obsłużą nowe maszyny. Wiemy, że wzorcowa maszyna ma 335 zainstalowanych poprawek – prosimy praktykantów, aby sprawdzili, czy każda następna maszyna ma 335 poprawek zanim oddadzą komputer użytkownikom.



 

Lista Zainstalowanych Poprawek, a WMI:

WMI zawiera bardzo szczegółowe informacje o poprawkach (link do opisu, typ (security update, service pack itd), nazwa komputera, konto, data instalacji).
Polecenie ma postać:

wmic qfe list

Efekt będzie podobny do tego, aczkolwiek zapewne znacznie dłuższy:

http://support.microsoft.com/?kbid=2769369 TEST_w8 Security Update KB2769369 ZARZĄDZANIE NT\SYSTEM 1/9/2013
http://support.microsoft.com/?kbid=2770660 TEST_w8 Security Update KB2770660 ZARZĄDZANIE NT\SYSTEM 12/13/2012
http://support.microsoft.com/?kbid=2773072 TEST_w8 Update KB2773072 TEST_w8\Administrator 3/24/2013
http://support.microsoft.com/?kbid=2778344 TEST_w8 Security Update KB2778344 TEST_w8\Administrator 2/15/2013
http://support.microsoft.com/?kbid=2778930 TEST_w8 Security Update KB2778930 ZARZĄDZANIE NT\SYSTEM 1/9/2013
http://support.microsoft.com/?kbid=2779030 TEST_w8 Security Update KB2779030 ZARZĄDZANIE NT\SYSTEM 12/13/2012


 

Lista Zainstalowanych Poprawek, a Powershell:

Powershell to świetne narzędzie (oto naszych lista naszych innych porad nt PS), a konsola PS może być źródłem wielu cennych informacji o systemach. W tym scenariuszu wyświetlamy szczegółowe informacje o poprawkach, użyjemy zatem funkcji:

Get-HotFix

Wynik będzie podobny do poniższego przykładu. Znajdziemy tu nazwę komputera, typ poprawki (update, security update, servicepack itd..), numer KB, konto na którym zainstalowano poprawkę i data instalacji.

Source Description HotFixID InstalledBy InstalledOn
—— ———– ——– ———– ———–
TEST_w8 Update KB2849697 ZARZĄDZANIE NT\SY… 2013-11-26 00:00:00
TEST_w8 Update KB2849697 ZARZĄDZANIE NT\SY… 2013-11-26 00:00:00
TEST_w8 Update KB2849696 ZARZĄDZANIE NT\SY… 2013-11-26 00:00:00
TEST_w8 Update KB2849696 ZARZĄDZANIE NT\SY… 2013-11-26 00:00:00
TEST_w8 Update KB2841134 ZARZĄDZANIE NT\SY… 2013-11-26 00:00:00
TEST_w8 Update KB2841134 ZARZĄDZANIE NT\SY… 2013-11-26 00:00:00
TEST_w8 Update KB2670838 TEST_w8\Administrator 2013-03-24 00:00:00
TEST_w8 Update KB2592687 TEST_w8\Administartor 2013-03-24 00:00:00
TEST_w8 Update KB971033 ZARZĄDZANIE NT\SY… 2011-07-16 00:00:00

Jak się domyślacie, w każdym wypadku lista może być długa i nieczytelna, zatem standardowo polecam użycie „more” lub przekierowanie wyniku do pliku.

Jeśli znacie jakiś ciekawy sposób na wyświetlanie listy poprawek – komentujcie 🙂

Łukasz Skalikow

Obecnie Manager IT. Przez lata byłem Inżynierem systemów. Jestem entuzjastą i specem od vSphere, Windows serwer, GPO. Od zawsze byłem zwolennikiem wiersza poleceń i automatyzacji. Obecnie, ze względu na pracę, rodzinę i wyjazdy służbowe, dużo mniej udzielam się na blogu, ale mam nadzieję, że pośród kilkuset porad opublikowanych na spece.it, wiele osób znajdzie dla siebie coś przydatnego :)

Przeczytaj także...

4 komentarze

  1. Szkoda że nie ma komentarzy, ale …. zbliża się „Koniec Windows” przepowiedziany w Windows 3.0 😛
    I przydałby się skrypt, który by w XP wylistował wszystkie zainstalowane poprawki, i je pobrał, bo nikt nie wie czy dla XP serwis update będzie nadal dostępny, czy nie.

  2. marcin pisze:

    Witam,
    przeszukuje internet aby znaleźć sposób na wyciągnięcie informacji o „aktualnym statusie usługi Windows Update” chodzi o to że posiadam 5 terminali (Windows Server 2012) i potrzebuje codziennie rano i wieczorem dostawać taka infromacje czy moduł Windows Update czasem sie nie włączył „jaki jest jego aktualny status” Enable czy Disable. Nie chce całego zrzutu Check Windows Update ponieważ jest tam za dużo informacji gdzie będe szukał potrzebnej mi informacji.
    Dziękuje.

    • marcin pisze:

      Doszedłem do wyświetlania statusu usługi poprzez „sc query wuauserv” ale bardziej chodzi mi o wyświetlenie informacji z „Server managera” czy update ma status „Never check updates”….

Dodaj komentarz