Jak zautomatyzować aktualizacje systemu Windows za pomocą PowerShell: krótki przegląd
Zarządzanie poprawkami stanowi kluczowy aspekt administracji infrastrukturą IT, podobnie jak Wykonywanie kopii zapasowej stacji roboczej z systemem Windows. Dzięki odpowiedniemu rozwiązaniu do zarządzania poprawkami można ulepszyć system poprzez testowanie lub instalowanie najnowszych aktualizacji oprogramowania i poprawek. Poprawki są traktowane jako tymczasowe rozwiązania istniejących problemów, pojawiających się w okresie między pełnymi wydaniami oprogramowania. Skuteczne zarządzanie poprawkami pozwala na szybkie reagowanie na luki w zabezpieczeniach systemu i ograniczanie potencjalnych zagrożeń.
System Windows oferuje własne rozwiązanie do zarządzania poprawkami – Windows Update. Jednak wielu administratorów IT nadal uważa proces zarządzania poprawkami za zbyt złożony i czasochłonny. Ponadto aktualizacje systemu mogą wpływać na przepływ pracy w środowisku produkcyjnym, ponieważ często uruchamiają się automatycznie w godzinach pracy. Dzięki poleceniom cmdlet PowerShell można zautomatyzować aktualizacje systemu Windows, oszczędzając wysiłek i czas.
Ten wpis na blogu opisuje, jak można używać PowerShell do instalowania aktualizacji systemu Windows, i zawiera listę przydatne polecenia PowerShell polecenia cmdlet służące do automatyzacji procesu zarządzania poprawkami. Instalowanie poprawek może zmniejszyć ryzyko wystąpienia błędów lub luk w zabezpieczeniach mających wpływ na system.
Czym jest PSWindowsUpdate?
Aby usprawnić i ułatwić proces zarządzania poprawkami systemu Windows, można skorzystać z modułu PSWindowsUpdate opracowanego przez Michała Gajdę. Moduł ten jest ogólnodostępny i można go bezpłatnie pobrać ze strony Galeria PowerShell. Głównym wymaganiem jest to, aby na komputerze działał system operacyjny Windows w wersji od Vista lub Windows Server 2008. Ponadto wymagana jest wersja PowerShell 2.0 lub nowsza.
Dzięki PSWindowsUpdate można sprawdzić, czy dla danego komputera są dostępne aktualizacje systemu Windows. Co więcej, moduł ten umożliwia scentralizowane zarządzanie aktualizacjami systemu Windows na różnych serwerach i stacjach roboczych z systemem Windows. W ten sposób można zdalnie kontrolować, które aktualizacje są instalowane, usuwane lub ukrywane.
Jak zautomatyzować aktualizacje systemu Windows za pomocą PowerShell
Poniżej przedstawimy proces konfiguracji PSWindowsUpdate, w tym sposób pobierania i instalowania modułu, a także sprawdzania poleceń, które mogą pomóc w automatyzacji aktualizacji systemu Windows.
Jak zainstalować PSWindowsUpdate
Aby skutecznie zautomatyzować zarządzanie poprawkami systemu Windows, należy najpierw zainstalować moduł PSWindowsUpdate na komputerze. W tym celu otwórz okno PowerShell z uprawnieniami administratora i wprowadź następujące polecenie:
Install-Module -Name PSWindowsUpdate
Po uruchomieniu tego polecenia pojawi się pytanie, czy chcesz zainstalować określony moduł z serwisu PSGallery. Wybierz opcję Yes , jeśli chcesz kontynuować i zaakceptować wszystkie zmiany.

Po zainstalowaniu modułu musisz upewnić się, że masz zdalny dostęp do innych komputerów. W ten sposób powinieneś być w stanie zainstalować aktualizacje systemu Windows na komputerach zdalnych, co pozwoli Ci poświęcić na to minimalną ilość czasu i wysiłku. Aby moduł PSWindowsUpdate działał na komputerach zdalnych, musisz zapisać go na swoim komputerze i udostępnić w sieci.
Jeśli inne serwery mogą importować i wdrażać ten moduł, możesz skonfigurować automatyczne zarządzanie poprawkami systemu Windows. W tym celu uruchom następujący cmdlet:
Save-Module -Name PSWindowsUpdate -Path
W tym miejscu musisz zdefiniować parametr –Path , określając miejsce, w którym chcesz przechowywać moduł PSWindowsUpdate.
Jak korzystać z PSWindowsUpdate
W następnym kroku dowiesz się, jak korzystać z tego modułu w celu automatyzacji aktualizacji systemu Windows za pomocą poleceń cmdlet programu PowerShell. Jest to ogromna zaleta dla administratorów IT, którzy muszą przeprowadzać proces zarządzania poprawkami na komputerach z systemem Server Core bez graficznego interfejsu użytkownika. Dzięki tym poleceniom cmdlet można zminimalizować złożoność zarządzania oraz uczynić ten proces łatwiejszym i mniej podatnym na błędy. Aby uzyskać pełną listę dostępnych aktualizacji systemu Windows, uruchom następujące polecenie w PowerShell:
Get-WindowsUpdate
Na ekranie powinien pojawić się wynik widoczny poniżej:
Dzięki tym informacjom będziesz mieć pewność, które oprogramowanie lub aplikacje wymagają aktualizacji. Następnie możesz zainstalować wszystkie aktualizacje, wpisując poniższe polecenie. Ponadto, dodając parametr –AutoReboot , możesz zapewnić, że system automatycznie uruchomi się ponownie po zainstalowaniu aktualizacji.
Get-WUInstall -AcceptAll –AutoReboot
Jeśli nie chcesz, aby nastąpił restart (aby nie zakłócać przebiegu pracy), możesz uruchomić następujący cmdlet:
Get-WUInstall -AcceptAll –IgnoreReboot
Na ekranie możesz zobaczyć postęp procesu zarządzania poprawkami, a także pełną listę aktualizacji i ich aktualny status.
Po zakończeniu procesu instalacji w konsoli PowerShell pojawi się następujący komunikat: „Wymagany jest restart, ale należy go wykonać ręcznie”. W związku z tym nadal wymagane jest ponowne uruchomienie systemu, ale można to zrobić w dogodnym dla siebie terminie.
Jeśli chcesz pobrać tylko konkretną aktualizację, możesz dodać parametr –KBArticleID do polecenia cmdlet PowerShell. Nie zapomnij podać numeru artykułu KB, aby pobrać właściwą poprawkę. Na przykład chcę zainstalować Narzędzie do usuwania złośliwego oprogramowania dla systemu Windows x64 oraz Aktualizacja Security Intelligence dla programu Windows Defender Antivirus . Odpowiednie polecenie PowerShell powinno wyglądać następująco:
Get-WUInstall -KBArticleID KB890830, KB2267602 –AcceptAll
Po uruchomieniu tego polecenia na moim komputerze zostaną zainstalowane tylko dwie z wymienionych aktualizacji.
Przegląd poleceń PSWindowsUpdate
Jeśli zastanawiasz się, które polecenie cmdlet PowerShell może współpracować z modułem PSWindowsUpdate, wpisz następujące polecenie i naciśnij Enter:
Get-Command –module PSWindowsUpdate
Tutaj możesz zobaczyć pełną listę poleceń modułu.

Omówmy, jak działają niektóre z tych poleceń.
1. Polecenie cmdlet Get-WUHistorypozwala wyświetlić historię najnowszych aktualizacji. Po uruchomieniu tego polecenia na ekranie pojawi się podobny wynik.
2. Kolejny cmdlet to Get-WUInstallerStatus, który pomaga zweryfikować stan usługi Windows Installer. Tutaj można sprawdzić, czy instalator działa poprawnie. Wynik tej operacji może wyglądać następująco:
3. Uruchamiając cmdlet Get-WURebootStatus , można sprawdzić, czy konieczne jest ponowne uruchomienie systemu, aby konkretna aktualizacja została w pełni zastosowana.
4. Za pomocą cmdletu Get-WUServiceManager można sprawdzić źródło aktualizacji systemu Windows. 
Jak widać, ostatnia kolumna wskazuje źródło aktualizacji (np. Windows Update, DCat Flighting Prod itp.).
5. Można ukryć niektóre aktualizacje z listy, aby uniknąć ich instalacji na komputerze. W tym celu należy uruchomić polecenie Hide-WindowsUpdate , w którym można podać identyfikatory artykułów KB, które chcesz ukryć. Poniższy przykład pokazuje, jak można ukryć aktualizację KB2267602 z listy:
$HideList = "KB2267602"
Hide-WindowsUpdate -KBArticleID $HideList –Hide
Przed wprowadzeniem jakichkolwiek zmian pojawi się prośba o potwierdzenie wyboru. Wpisz Y , aby ukryć artykuł KB.

Jeśli jednak chcesz uzyskać listę ukrytych aktualizacji, możesz uruchomić poniższy cmdlet.
W kolumnie Status widoczna jest litera H , oznaczająca, że aktualizacja została pomyślnie ukryta. W ten sposób przy następnym uruchomieniu polecenia Get-WUInstall wybrana aktualizacja zostanie automatycznie wykluczona z listy dostępnych aktualizacji.
Jeśli chcesz cofnąć zmiany, możesz użyć następującego polecenia cmdlet w konsoli PowerShell:
Hide-WindowsUpdate -KBArticleID $HideList -Hide:$false
Ponownie zostaniesz poproszony o potwierdzenie zmian poprzez wpisanie Y.

Jak widać, litera H nie jest już uwzględniona w statusie aktualizacji, co oznacza, że ta aktualizacja systemu Windows nie jest już ukryta i można ją pobrać na komputer.
6. Inną dostępną opcją konfiguracyjną jest usunięcie aktualizacji zainstalowanych na komputerze. W tym celu można użyć polecenia cmdlet Remove-WindowsUpdate i wpisać identyfikator artykułu KB, który chcesz odinstalować z komputera. Na przykład:
Remove-WindowsUpdate -KBArticleID KB4519573 –IgnoreReboot
Dodając parametr –IgnoreReboot , zapewniasz, że komputer nie uruchomi się ponownie automatycznie. Po odinstalowaniu aktualizacji możesz później zrestartować komputer.
7. Na koniec możesz wyszukać dostępne aktualizacje systemu Windows na komputerze zdalnym za pomocą polecenia cmdlet Get-WUList .
Get-WUList –ComputerName Server5
Aby to polecenie cmdlet działało, musisz również zainstalować moduł PSWindowsUpdate na komputerze zdalnym. W ten sposób możesz zautomatyzować aktualizacje systemu Windows dla wielu komputerów z jednego panelu. Dzięki PSWindowsUpdate proces zarządzania poprawkami przebiega w prosty i wydajny sposób.
Ponadto możesz zmniejszyć obciążenie w zakresie administracji, z którym mogą borykać się administratorzy IT podczas instalowania poprawek systemowych.
Podsumowanie
Moduł PSWindowsUpdate został opracowany w celu uproszczenia i zwiększenia wydajności procesu zarządzania poprawkami. Dzięki automatyzacji instalacji aktualizacji masz pewność, że Twój system jest regularnie aktualizowany, co pozwala zminimalizować ryzyko awarii systemu i naruszeń bezpieczeństwa. Poprawki są tworzone głównie w celu rozwiązania problemów lub usunięcia luk w zabezpieczeniach wykrytych w programie. Jednak regularne zarządzanie poprawkami nie może zapewnić pełnej ochrony całego środowiska produkcyjnego.
W tym celu należy skorzystać z kompleksowego rozwiązania do ochrony danych, które oferuje wykonanie kopii zapasowej i odzyskiwanie lokacji dla środowisk fizycznych, wirtualnych i chmurowych. Dzięki NAKIVO Backup & Replication możesz zabezpieczyć swoje najważniejsze dane i aplikacje na wielu platformach, zapewnić odzyskiwanie danych w każdych okolicznościach oraz obniżyć koszty ochrony danych.



