Na správu aktualizácií systému Windows z príkazového riadka je veľmi vhodné použiť špeciálny modul PowerShell - PSWindowsUpdate. Modul PSWindowsUpdate nie je zabudovaný do systému Windows a je modulom tretích strán, ktorý je k dispozícii v galérii skriptov Technet. PSWindowsUpdate umožňuje správcom vzdialene skontrolovať, nainštalovať, odstrániť a skryť konkrétne aktualizácie na počítačoch a pracovných staniciach. Modul PSWindowsUpdate je obzvlášť užitočný, keď sa používa na správu aktualizácií v základných vydaniach systému Windows Server, ktoré nemajú grafické rozhranie, ako aj pri nastavovaní obrazu Windows v režime auditu..
obsah:
- Nainštalujte modul na správu aktualizácií PSWindowsUpdate
- Prehľad príkazov modulu PSWindowsUpdate
- Správa aktualizácií systému Windows vo vzdialených počítačoch pomocou programu PowerShell
- Získajte zoznam dostupných aktualizácií systému Windows od spoločnosti PowerShell
- Install-WindowsUpdate: Nainštalujte aktualizácie pomocou programu PSWindowsUpdate
- Get-WUHistory: Zobrazenie histórie nainštalovaných aktualizácií systému Windows
- Remove-WindowsUpdate: Odinštalujte aktualizácie
- Hide-WindowsUpdate: ako skryť nepotrebné aktualizácie pomocou PowerShell
Nainštalujte modul na správu aktualizácií PSWindowsUpdate
Ak používate Windows 10, môžete nainštalovať modul PSWindowsUpdate z online úložiska prostredníctvom správcu balíkov PackageManagement pomocou jediného príkazu:
Install-Module - Názov PSWindowsUpdate
V mojom prípade sa objavilo upozornenie, že program PSWindowsUpdate 1.5.2.6 už bol nainštalovaný. Ak chcete nainštalovať novšiu verziu, musíte spustiť príkaz:
Install-Module -Name PSWindowsUpdate -Force
Po dokončení inštalácie musíte skontrolovať dostupnosť balíka:
Get-Package -Name PSWindowsUpdate
Ak máte nainštalovanú staršiu verziu systému Windows (Windows 7 / 8.1 / Windows Server 2008 R2 / 2012 R2) alebo nemáte priamy prístup na internet, môžete nainštalovať modul PSWindowsUpdate ručne..
Modul PSWindowsUpdate je možné nainštalovať na akúkoľvek podporovanú verziu systému Windows od systému Vista / Windows Server 2008 s nainštalovaným programom PowerShell 2.0 (odporúča sa však PoSh 3.0 a vyššia).
- Stiahnite si najnovšiu verziu modulu PSWindowsUpdate zo stránky: https://gallery.technet.microsoft.com/scriptcenter/2d191bcd-3308-4edd-9de2-88dff796b0bc a odomknite stiahnutý súbor; pamätajte, že v galérii skriptov TechNet je k dispozícii iba stará verzia modulu - v 1.5.6. Kým Správca balíkov NuGet inštaluje program PSWindowsUpdate 2.1.1.2 z PowershellGallery. Dostupné rutiny cmdlet a parametre sa môžu líšiť v rôznych verziách modulu..
- Rozbaľte archív s modulom do jedného z adresárov
% USERPROFILE% \ Documents \ WindowsPowerShell \ Modules
alebo% WINDIR% \ System32 \ WindowsPowerShell \ v1.0 \ Moduly
(pri nepretržitom používaní modulu je to najlepšia možnosť); - Povoliť skriptovanie:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Unrestricted -Force
- Teraz môžete modul importovať do relácie PowerShell:
Importovať modul PSWindowsUpdate
poznámka. V systéme Windows 7 / Server 2008 R2 sa pri importe modulu PSWindowsUpdate môže vyskytnúť chyba, napríklad: Názov „Unblock-File“ nie je rozpoznaný ako názov cmdlet. Faktom je, že modul využíva niektoré funkcie, ktoré sa objavili iba v PowerShell 3.0. Ak chcete používať tieto funkcie, musíte upgradovať PowerShell alebo manuálne odstrániť riadok | Odblokujte súbor zo súboru PSWindowsUpdate.psm1.
Po nainštalovaní modulu PSWindowsUpdate do počítača ho môžete nainštalovať na diaľku na iné počítače alebo servery pomocou cmdlet Update-WUModule
. Napríklad na skopírovanie modulu PSWindowsUpdate z počítača na dva vzdialené servery vykonajte príkazy (potrebujete prístup na vzdialené servery prostredníctvom protokolu SMB, portu TCP 445):
$ Targets = "Server1", "Server2"
Aktualizácia-WUModule -ComputerName $ Ciele -Miestne
Ak chcete modul uložiť do sieťového adresára a ďalej ho importovať do iných počítačov, postupujte takto:
Save-Module - Názov PSWindowsUpdate -Path \\ fs01 \ ps \
Prehľad príkazov modulu PSWindowsUpdate
Zoznam dostupných modulov cmdlets je možné zobraziť takto:
get-command -module PSWindowsUpdate
Stručne opíšeme účel príkazov modulu:
- Clear-WUJob - Použite Get-WUJob na vyvolanie úlohy WUJob v plánovači.
- Download-WindowsUpdate (alias pre Get-WindowsUpdate -Download) - získajte zoznam aktualizácií a sťahujte ich;
- Get-WUInstall, Install-WindowsUpdate (alias pre Get-WindowsUpdate -Install) - inštalácia aktualizácií;
- Hide-WindowsUpdate (alias pre Get-WindowsUpdate -Hide: $ false) - skryje aktualizáciu;
- Uninstall-WindowsUpdate - odstráňte aktualizáciu pomocou Use Remove-WindowsUpdate;
- pridať-WUServiceManager - registráciu aktualizačného servera (Windows Update Service Manager) v počítači;
- Enable-WURemoting - povoliť pravidlá brány firewall, ktoré umožňujú vzdialené používanie rutiny cmdlet PSWindowsUpdate;
- Get-WindowsUpdate (Get-WUList) - zobrazí zoznam aktualizácií, ktoré zodpovedajú zadaným kritériám, umožňuje nájsť a nainštalovať požadovanú aktualizáciu. Toto je hlavná rutina modulu PSWindowsUpdate. Umožňuje sťahovať a inštalovať aktualizácie zo servera WSUS alebo Microsoft Update. Umožňuje vám vybrať kategórie aktualizácií, konkrétne aktualizácie a určiť pravidlá pre reštartovanie počítača pri inštalácii aktualizácií;
- Get-WUApiVersion - Získajte verziu nástroja Windows Update Agent v počítači
- Get-WUHistory - zobraziť zoznam nainštalovaných aktualizácií (história aktualizácií);
- Get-WUInstallerStatus - Kontrola stavu služby Windows Installer
- Get-WUJob - Spustite aktualizačné úlohy WUJob v Plánovači úloh
- Get-WULastResults - dátumy posledného vyhľadávania a inštalácie aktualizácií (LastSearchSuccessDate a LastInstallationSuccessDate);
- Get-WURebootStatus - umožňuje skontrolovať, či je na vykonanie konkrétnej aktualizácie potrebný reštart;
- Get-WUServiceManager - výstupné zdroje aktualizácie;
- Get-WUSettings - Získajte nastavenia klienta Windows Update
- vyvolanie WUJob - vzdialene vyvolávať úlohy WUJobs v Task Schduler na okamžité vykonanie úloh PSWindowsUpdate.
- Remove-WindowsUpdate - odinštalovať aktualizáciu;
- Remove-WUServiceManager - vypnite Správcu služieb Windows Update;
- Set-PSWUSettings - uložte nastavenia modulu PSWindowsUpdate do súboru XML;
- Set-WUSettings - Konfigurácia nastavení klienta Windows Update
- Update-WUModule - aktualizujte modul PSWindowsUpdate (modul môžete aktualizovať na vzdialenom počítači jeho skopírovaním z aktuálneho, alebo aktualizovať z PSGallery).
Správa aktualizácií systému Windows vo vzdialených počítačoch pomocou programu PowerShell
Takmer všetky cmdlety modulu PSWindowsUpdate vám umožňujú riadiť inštaláciu aktualizácií na vzdialených počítačoch. Atribút sa používa na tento účel. -Názov počítača Host1, Host2, Host3.
Ak chcete spravovať aktualizácie na vzdialených počítačoch, musíte ich mená pridať do zoznamu dôveryhodných hostiteľov winrm:
winrm set winrm / config / client '@ TrustedHosts = "HOST1, HOST2, ..."'
Nainštalujte modul PSWindowsUpdate na vzdialené počítače a umožnite procesu dllhost.exe prístup k dynamickým portom RPC v bráne firewall..
Získajte zoznam dostupných aktualizácií systému Windows od spoločnosti PowerShell
Aktualizácie dostupné pre tento počítač môžete zobraziť na aktualizačnom serveri pomocou príkazov Get-WindowsUpdate alebo Get-WUList..
Ak chcete skontrolovať zoznam dostupných aktualizácií na vzdialenom počítači, postupujte takto:
Get-WUList -ComputerName server2
Môžete skontrolovať, odkiaľ by mali vaše operačné systémy Windows dostávať aktualizácie. Spustite príkaz:
Get-WUServiceManager
ServiceID IsManaged IsDefault Name --------- --------- --------- ---- 8b24b027-1dee-babb-9a95-3517dfb9c552 False False DCat Flighting Prod 855e8a7c -ecb4-4ca3-b045-1dfa50104289 False False Windows Store (DCat Prod) 3da21691-e39d-4da6-8a4b-b43877bcb1b7 Pravda pravda, aktualizačná služba Windows Server Update Service 9482f4b4-e343-43b6-b170-9a65bc822c77 False False False
Ako vidíte, počítač je nakonfigurovaný na príjem aktualizácií z miestneho servera WSUS (Windows Server Update Service = True). V takom prípade by sa vám mal zobraziť zoznam aktualizácií schválených pre váš počítač na serveri WSUS.
Ak chcete prehľadávať počítač na serveroch Microsoft Update (okrem aktualizácií systému Windows tieto servery obsahujú aktualizácie balíka Office a ďalšie produkty) na internete, spustite príkaz:
Get-WUlist -MicrosoftUpdate
Dostanete varovanie:
Get-WUlist: Služba Windows Update sa v počítači nenašla
Ak chcete povoliť skenovanie v službe Microsoft Update, spustite príkaz:
Add-WUServiceManager -ServiceID "7971f918-a847-4430-9279-4a52d1efe18d" -AddServiceFlag 7
Teraz môžete skenovať do služby Microsoft Update. Ako vidíte, v tomto prípade sa našli ďalšie aktualizácie pre Microsoft Visual C ++ 2008 a Microsoft Silverlight.
Ak chcete skontrolovať verziu nástroja Windows Update Agent v počítači, spustite príkaz:
Get-WUApiVersion
ComputerName PSWindowsUpdate PSWUModuleDll ApiVersion WuapiDllVersion ------------ --------------- ------------- ----- ----- --------------- FS01 2.1.1.2 2.0.6995.28496 8.0 10.0.14393.2879
Ak chcete zo zoznamu aktualizácií, ktoré váš počítač dostáva, odstrániť určité produkty alebo konkrétne balíčky, môžete ich vylúčiť pomocou:
- Kategórie (-NotCategory);
- Meno (-NotTitle);
- Číslo aktualizácie (-NotKBArticleID).
Vylúčime napríklad zo zoznamu aktualizácií ovládačov OneDrive a jednu konkrétnu KB:
Get-WUlist -NotKategória „Ovládače“ -NotTitle OneDrive -NotKBArticleID KB4533002
Install-WindowsUpdate: Nainštalujte aktualizácie pomocou programu PSWindowsUpdate
Ak chcete automaticky stiahnuť a nainštalovať všetky dostupné aktualizácie pre váš Windows, postupujte takto:
Nainštalujte-WindowsUpdate -MicrosoftUpdate -AcceptAll -AutoReboot
Kľúč AcceptAll umožňuje schválenie inštalácie pre všetky balíčky a AutoReboot umožňuje systému Windows automaticky reštartovať po inštalácii aktualizácií..
Môžete si uložiť históriu inštalácie aktualizácií do súboru denníka (môžete ho použiť namiesto WindowsUpdate.log).
Nainštalujte-WindowsUpdate -AcceptAll -Install -AutoReboot | Out-File "c: \ $ (get-date -f rrrr-MM-dd) -WindowsUpdate.log" -force
Nainštalovať je možné iba konkrétne aktualizácie podľa čísla KB:
Získajte systém WindowsUpdate -KBArticleID KB2267602, KB4533002 - Nainštalujte
V takom prípade je potrebné manuálne potvrdiť inštaláciu každej aktualizácie.
Ak chcete vylúčiť niektoré aktualizácie z inštalačného zoznamu, postupujte takto:
Inštalácia systému WindowsUpdate -NotKategória „Ovládače“ -NotTitle OneDrive -NotKBArticleID KB4011670 -Akceptovať všetko -IgnoreReboot
Modul umožňuje vzdialenú inštaláciu aktualizácie na viacerých počítačoch alebo serveroch naraz (na počítačoch musí byť nainštalovaný modul PSWindowsUpdate). Toto je obzvlášť výhodné, pretože umožňuje správcovi nevstúpiť ručne do všetkých serverov počas plánovanej inštalácie aktualizácií. Nasledujúci príkaz nainštaluje všetky dostupné aktualizácie na tri vzdialené servery:
Invoke-WUInstall -ComputerName server1, server2, server3 -Script ipmo PSWindowsUpdate; Get-WindowsUpdate -Install -AcceptAll -AutoReboot | Out-File C: \ Windows \ PSWindowsUpdate.log - Potvrdenie: $ false -Verbose -SkipModuleTest -RunNow
V module PSWindowsUpdate 2.1 musíte namiesto rutiny Invoke-WUInstall použiť Invoke-WUJob. Táto rutina vytvára plánovaciu úlohu na vzdialenom počítači, ktorý beží zo SYSTÉMU.
Preto v nových verziách modulu na vzdialenú inštaláciu aktualizácií použite nasledujúci príkaz:
$ ServerNames = “server1, server2, server3”
Invoke-WUJob -ComputerName $ ServerNames -Script ipmo PSWindowsUpdate; Install-WindowsUpdate -AcceptAll | Out-File C: \ Windows \ PSWindowsUpdate.log -RunNow -Confirm: $ false
Môžete nainštalovať aktualizácie na vzdialený počítač a poslať správu e-mailom správcovi:
Nainštalujte-WindowsUpdate - názov_počítača server1 -MicrosoftUpdate -AcceptAll - IgnoreReboot -SendReport -PSWUSettings @ SmtpServer = "smtp.winitpro.ru"; Do = "[email protected]"; Port 25 -Veróza
Get-WUHistory: Zobrazenie histórie nainštalovaných aktualizácií systému Windows
Pomocou príkazu Get-WUHistory zoznam aktualizácií nainštalovaných v počítači môžete získať skôr automaticky alebo ručne.
Môžete získať informácie o dátume inštalácie konkrétnej aktualizácie:
Get-WUHistória | Where-Object $ _. Title -match "KB4517389" | Vyberte objekt * | ft
Ak chcete získať informácie o nainštalovanej aktualizácii na niekoľkých vzdialených počítačoch, môžete použiť nasledujúci kód:
"server1", "server2" | Get-WUHistória | Where-Object $ _. Title -match "KB4011634" | Vyberte objekt * | ft
Remove-WindowsUpdate: Odinštalujte aktualizácie
Ak chcete aktualizácie správne odstrániť, použite rutinu cmdlet Remove-WindowsUpdate. Stačí zadať číslo KB ako argument parametra KBArticleID. Ak chcete oneskoriť automatický reštart počítača, môžete pridať kľúč -norestart
:
Remove-WindowsUpdate -KBArticleID KB4011634 -NoRestart
Hide-WindowsUpdate: ako skryť nepotrebné aktualizácie pomocou PowerShell
Niektoré aktualizácie môžete skryť, aby ich služba Windows Update vo vašom počítači nikdy nenainštalovala (najčastejšie skryjú aktualizácie ovládačov). Napríklad na skrytie aktualizácií KB2538243 a KB4524570 spustite nasledujúce príkazy:
$ HideList = "KB2538243", "KB4524570"
Get-WindowsUpdate -KBArticleID $ HideList -Hide
alebo použite alias:
Hide-WindowsUpdate -KBArticleID $ HideList -Verbose
Teraz pri ďalšom vyhľadávaní aktualizácií pomocou príkazu Get-WUlist
skryté aktualizácie sa nezobrazia v zozname opráv dostupných na inštaláciu.
Môžete uviesť zoznam aktualizácií, ktoré sú v tomto počítači skryté, napríklad:
Get-WindowsUpdate -IsHidden
Nezabudnite, že v stĺpci Stav skrytých aktualizácií sa objavil atribút H (skrytý).
Skrytie niektorých aktualizácií môžete vrátiť takto:
Get-WindowsUpdate -KBArticleID $ HideList -WithHidden -Hide: $ false
alebo tak:
Show-WindowsUpdate -KBArticleID $ HideList
Pre tých, ktorí sa cítia nepohodlne v konzole PowerShell, môžem odporučiť grafický nástroj Windows Update MiniTool na správu aktualizácií systému Windows 10..