Aktualizacja systemu Windows przy pomocy PowerShell

Zawartość

Ostatnio natknąłem się na pewien problem, gdzie świeżo zainstalowany Windows 10 nie chciał pobrać aktualizacji.

Wyszukiwanie aktualizacji trwało w nieskończoność lub też, jeżeli się już one pojawiły, to utknęły one w kolejce pobierania (Pending Download) i nijak dało się je przekonać do pobrania. Klikanie w przycisk Pobierz (Download) nic nie dawało. Nawet sprawdzone metody resetowania usługi Windows Update nic nie dały.

W związku z tym zacząłem szukać innego rozwiązania i tak natrafiłem na metodę aktualizacji z wykorzystaniem PowerShell.

PowerShell 7.x #

Nim jednak zaczniemy, warto zainstalować PowerShell w wersji 7 (minimum), gdyż Windows posiada domyślnie wersję 5.1 (!), a z tą wersją ten moduł lubi płatać figle.

PowerShell w Sklepie Microsoft

Możemy tego dokonać na przeróżne sposoby, ale najprostszym według mnie jest zainstalowanie go bezpośrednio ze Sklepu Microsoft (Microsoft Store). Dzięki temu nie będziemy musieli się przejmować jego ręcznymi aktualizacjami.

Uruchamiamy nasz PowerShell w trybie administratora (Run as administrator).

PowerShell 7 w trybie administratora

PSWindowsUpdate #

Do aktualizacji naszego systemu podłużymy się modułem przygotowanym przez Michał Gajda o nazwie ‌PSWindowsUpdate.

Nie jest to jakiś mało znany pakiet. Został on do tej pory pobrany ponad 112-milionów razy (112,054,801 downloads and counting)!

Install-Module PSWindowsUpdate w PowerShell

Aby go zainstalować, wykonujemy następującą komendę:

Install-Module PSWindowsUpdate

Na pytanie, czy zainstalować moduł z “niezaufanego źródła”, jak i inne w trakcie instalacji odpowiadamy Tak dla wszystkich (Yes for All) za pomocą A.

Get-WindowsUpdate w PowerShell

Następnie pora na wyszukanie aktualizacji:

Get-WindowsUpdate

Po wydaniu komendy wydawać się może przez dłuższą chwilę, że nic się nie dzieje. Należy chwilkę poczekać, aż zobaczymy jakąś odpowiedź.

ps. Nie sugerujmy się wielkością aktualizacji, gdyż nie zawsze jest ona wyświetlana poprawnie (jak w moim przypadku 59GB, lol).

Install-WindowsUpdate w PowerShell

Gdy nasze aktualizacje zostaną wyszukane, wykonujemy poniższą komendę, aby je zainstalować:

Install-WindowsUpdate

Potwierdzamy również za pomocą A, że chcemy wykonać instalację dla wszystkich dostępnych aktualizacji.

Teraz wystarczy siedzieć spokojnie i czekać aż się wszystko pobierze i zainstaluje.

Zarządzanie aktualizacjami #

Pakiet PSWindowsUpdate to nie tylko powyższe komendy. Posiada on szereg różnych opcji, przy pomocy których możemy dokonać, chociażby usunięcia zainstalowanych aktualizacji lub też wstrzymania tej, której sobie nie życzymy.

Pełną listę dostępnych opcji zobaczymy za pomocą:

Get-Command -Module PSWindowsUpdate

Install-WindowsUpdate - Reboot required

Przy instalacji aktualizacji za pomocą komendy Install-WindowsUpdate musimy zagłębić się nieco w informacje, które są wyświetlone (jeżeli są) na samym końcu. Czasami wymagane jest ponowne uruchomienie komputera, które nie zostanie wykonane za nas, tylko sami musimy to zrobić (zdecydować na końcu).

Aby ułatwić sobie cały proces wyszukania aktualizacji, zatwierdzenia, instalacji i automatycznego uruchomienia komputera, gdy jest to potrzebne, możemy posłużyć się następującą komendą:

Get-WindowsUpdate -AcceptAll -Install -AutoReboot

Jeżeli, przy pomocy Get-WindowsUpdate mamy do wyboru kilka z nich, a chcemy skupić się na któreś konkretnej, możemy to zrobić za pomocą następującego wpisu:

Get-WindowsUpdate -Install -KBArticleID 'KB5010414'

Zmieniamy odpowiednio KB5010414 na ten uzyskany po wykonaniu komendy Get-WindowsUpdate.

Mimo tego, że w większości wypadków “graficzny” Windows Update spisuje się tak, jak trzeba, dobrze mieć swojego rodzaju alternatywę.

Pozdrawiam.


Źródło: How to install Windows 10 update using PowerShell by Pureinfotech

Komentarze