Modul PSWindowsUpdate za upravljanje posodobitev sistema Windows iz PowerShell-a

Za upravljanje posodobitev sistema Windows iz ukazne vrstice je zelo priročno uporabiti poseben modul PowerShell - Posodobitev PSWindowsUpdate. Modul PSWindowsUpdate ni vgrajen v sistem Windows in je zunanji modul, ki je na voljo v galeriji skriptov Technet. PSWindowsUpdate omogoča skrbnikom, da na daljavo preverijo, namestijo, odstranijo in skrijejo določene posodobitve na računalnikih in delovnih postajah. Modul PSWindowsUpdate je še posebej dragocen, če se uporablja za upravljanje posodobitev v temeljnih izdajah sistema Windows Server, ki nimajo grafičnega vmesnika, pa tudi pri nastavitvi slike Windows v revizijskem načinu.

Vsebina:

  • Namestite PSWindowsUpdate Modul za upravljanje posodobitev posodobitev
  • Pregled ukazov modula PSWindowsUpdate
  • Upravljanje posodobitev sistema Windows na oddaljenih računalnikih prek PowerShell-a
  • Pridobite seznam razpoložljivih posodobitev sistema Windows za PowerShell
  • Install-WindowsUpdate: Namestite posodobitve s PSWindowsUpdate
  • Get-WUHistory: Oglejte si zgodovino nameščenih posodobitev sistema Windows
  • Remove-WindowsUpdate: Odstranite posodobitve
  • Skrij-WindowsUpdate: kako skriti nepotrebne posodobitve s programom PowerShell

Namestite PSWindowsUpdate Modul za upravljanje posodobitev posodobitev

Če uporabljate Windows 10, lahko namestite modul PSWindowsUpdate iz spletnega skladišča prek upravitelja paketov PackageManagement samo z enim ukazom:

Namestite-modul -Namestite PSWindowsUpdate

V mojem primeru se je pojavilo opozorilo, da je PSWindowsUpdate 1.5.2.6 že nameščen. Če želite namestiti novejšo različico, morate zagnati ukaz:

Namestite-modul -ime PSWindowsUpdate -Force

Po končani namestitvi morate preveriti razpoložljivost paketa:

Get-Package -Namestite PSWindowsUpdate

Če imate nameščeno starejšo različico sistema Windows (Windows 7 / 8.1 / Windows Server 2008 R2 / 2012 R2) ali nimate neposrednega dostopa do interneta, lahko ročno namestite modul PSWindowsUpdate.

Modul PSWindowsUpdate je mogoče namestiti v katero koli podprto različico sistema Windows, začenši z Vista / Windows Server 2008 z nameščenim PowerShell 2.0 (vendar je priporočljivo PoSh 3.0 in novejše).

  1. Prenesite najnovejšo različico modula PSWindowsUpdate s strani: https://gallery.technet.microsoft.com/scriptcenter/2d191bcd-3308-4edd-9de2-88dff796b0bc in odklenite preneseno datoteko; upoštevajte, da je v galeriji skript TechNet na voljo le stara različica modula - v 1.5.6. Medtem ko upravitelj paketov NuGet namesti PSWindowsUpdate 2.1.1.2 iz PowershellGallery. Razpoložljivi cmdleti in parametri se lahko razlikujejo v različnih različicah modula..
  2. Odstranite arhiv z modulom v enega od imenikov % USERPROFILE% \ Documents \ WindowsPowerShell \ Modules ali % WINDIR% \ System32 \ WindowsPowerShell \ v1.0 \ Moduli (s stalno uporabo modula je to najboljša možnost);
  3. Dovoli skript: Set-ExecutionPolicy -Scope Process -ExecutionPolicy Neomejeno -Force
  4. Zdaj lahko modul uvozite v svojo sejo PowerShell: Uvoz-modul PSWindowsUpdate Opomba. V sistemu Windows 7 / Server 2008 R2 lahko pri uvozu modula PSWindowsUpdate naletite na napako, kot je: Ime "Unblock-File" ni prepoznano kot ime cmdlet. Dejstvo je, da modul uporablja nekatere funkcije, ki so se pojavile samo v PowerShell 3.0. Za uporabo teh funkcij boste morali nadgraditi PowerShell ali ročno izbrisati vrstico | Odkleni datoteko iz datoteke PSWindowsUpdate.psm1.

Po namestitvi modula PSWindowsUpdate v računalnik ga lahko na daljavo namestite v druge računalnike ali strežnike s pomočjo cmdlet-a Update-wumodule. Če želite na primer kopirati modul PSWindowsUpdate iz računalnika na dva oddaljena strežnika, izvedite ukaze (do dostopa do oddaljenih strežnikov potrebujete protokol SMB, vrata TCP 445):

$ Targets = "Server1", "Server2"
Posodobitev-WUModule -ComputerName $ Target -Local

Če želite modul shraniti v omrežni imenik za nadaljnji uvoz modula v druge računalnike, naredite naslednje:

Shrani-Modul -Name PSWindowsUpdate -Path \\ fs01 \ ps \

Pregled ukazov modula PSWindowsUpdate

Seznam razpoložljivih ukaznih kod modulov se lahko prikaže takole:

get-command -module PSWindowsUpdate

Na kratko opišemo namen ukazov modula:

  • Jasno-wujob - Uporabite Get-WUJob za priklic opravila WUJob v planerju.
  • Download-WindowsUpdate (vzdevek za Get-WindowsUpdate -Download) - pridobite seznam posodobitev in jih naložite;
  • Get-WUInstall, Install-WindowsUpdate (vzdevek za Get-WindowsUpdate -Install) - namestite posodobitve;
  • Skrij-WindowsUpdate (vzdevek za Get-WindowsUpdate -Hide: $ false) - skrije posodobitev;
  • Odstrani-windowsupdate - posodobitev odstranite s funkcijo Use Remove-WindowsUpdate;
  • Dodaj-WUServiceManager - registriranje strežnika za posodobitve (Windows Update Service Manager) v računalniku;
  • Omogoči-Wuremoting - omogočite pravila požarnega zidu, ki omogočajo oddaljeno uporabo cmdleta PSWindowsUpdate;
  • Get-WindowsUpdate (Get-WUList) - prikaže seznam posodobitev, ki ustrezajo določenim kriterijem, omogoča iskanje in namestitev želene posodobitve. To je glavni ukaz v modulu PSWindowsUpdate. Omogoča prenos in namestitev posodobitev s strežnika WSUS ali Microsoft Update. Omogoča izbiro kategorij posodobitev, posebnih posodobitev in določitev pravil za ponovni zagon računalnika pri nameščanju posodobitev;
  • Get-WUApiVersion - V računalnik prenesite različico programa Windows Update Agent
  • Zgodi se - prikaz seznama nameščenih posodobitev (zgodovina posodobitev);
  • Get-WUInstallerStatus - Preverjanje stanja storitve Windows Installer
  • Get-wujob - Zaženite opravila za posodobitev WUJob v Schedulerju opravil
  • Get-WULastResults - datumi zadnjega iskanja in namestitve posodobitev (LastSearchSuccessDate in LastInstallationSuccessDate);
  • Get-WURebootStatus - omogoča preverjanje, ali je za uporabo določene posodobitve potreben ponovni zagon;
  • Get-WUServiceManager - izhodni posodobljeni viri;
  • Get-wusettings - Pridobite nastavitve odjemalca Windows Update
  • Pokliči-wujob - na daljavo prikliče opravila WUJobs v Task Schduler, da takoj izvedejo opravila PSWindowsUpdate.
  • Odstrani-WindowsUpdate - odstranite posodobitev;
  • Odstrani-WUServiceManager - onemogoči Windows Update Service Manager;
  • Set-pswusettings - shranite nastavitve modula PSWindowsUpdate v datoteko XML;
  • Nastavitve kita - Konfigurirajte nastavitve odjemalca Windows Update
  • Update-wumodule - posodobite modul PSWindowsUpdate (modul lahko posodobite na oddaljenem računalniku tako, da ga kopirate iz trenutnega ali posodobite iz PSGallery).

Upravljanje posodobitev sistema Windows na oddaljenih računalnikih prek PowerShell-a

Skoraj vse ukazne plošče modula PSWindowsUpdate omogočajo nadzor nad namestitvijo posodobitev na oddaljenih računalnikih. Za to se uporablja atribut. -Računalniško ime Host1, Host2, Host3.

Če želite upravljati posodobitve na oddaljenih računalnikih, morate njihova imena dodati na seznam zaupanja vrednega gostitelja winrm:

winrm nastavljen winrm / config / odjemalec '@ TrustedHosts = "HOST1, HOST2, ..."

Namestite modul PSWindowsUpdate na oddaljene računalnike in omogočite postopku dllhost.exe dostop do dinamičnih vrat RPC v požarnem zidu.

Pridobite seznam razpoložljivih posodobitev sistema Windows za PowerShell

Na posodobitvenem strežniku lahko naštejete posodobitve, ki so na voljo za ta računalnik, z ukazi Get-WindowsUpdate ali Get-WUList.

Če želite preveriti seznam razpoložljivih posodobitev na oddaljenem računalniku, naredite:

Get-WUList-strežnikComputerName2

Lahko preverite, od kod naj Windows OS prejema posodobitve. Zaženite ukaz:

Get-WUServiceManager

Ime storitve ServiceID je upravljano IsDefault --------- --------- --------- ---- 8b24b027-1dee-babb-9a95-3517dfb9c552 Lažno lažno letenje DCat Prod 855e8a7c -ecb4-4ca3-b045-1dfa50104289 Lažna napačna trgovina Windows (DCat Prod) 3da21691-e39d-4da6-8a4b-b43877bcb1b7 True True Posodobitev storitve Windows Server 9482f4b4-e343-43b6-b170-9a65bcsec Falc

Kot vidite, je računalnik konfiguriran za sprejemanje posodobitev od lokalnega strežnika WSUS (Windows Server Update Service = True). V tem primeru bi morali videti WSUS seznam posodobitev, odobrenih za vaš računalnik.

Če želite skenirati računalnik na strežnikih Microsoft Update (ti posodobitve poleg posodobitev sistema Windows vsebujejo posodobitve sistema Office in druge izdelke) v internetu, zaženite ukaz:

Get-WUlist -MicrosoftUpdate

Dobiš opozorilo:

Get-WUlist: Service Windows Update ni bilo mogoče najti v računalniku

Če želite omogočiti skeniranje v programu Microsoft Update, zaženite ukaz:

Add-WUServiceManager -ServiceID "7971f918-a847-4430-9279-4a52d1efe18d" -AddServiceFlag 7

Zdaj lahko skenirate v Microsoft Update. Kot lahko vidite, so bile v tem primeru najdene dodatne posodobitve za Microsoft Visual C ++ 2008 in Microsoft Silverlight.

Če želite preveriti različico agenta za posodobitev sistema Windows v računalniku, zaženite ukaz:

Get-WUApiVersion

ComputerName PSWindowsUpdate PSWUModuleDll ApiVersion WuapiDllVersion ------------ --------------- ------------- ----- ----- --------------- FS01 2.1.1.2 2.0.6995.28496 8.0 10.0.14393.2879

Če želite nekatere izdelke ali določene pakete odstraniti s seznama posodobitev, ki jih prejme vaš računalnik, jih lahko izključite tako, da:

  • Kategorije (-NotCategory);
  • Ime (-NotTitle);
  • Posodobitvena številka (-NotKBArticleID).

Na primer iz seznama posodobitev gonilnikov, OneDrive in ene posebne KB izključimo:

Get-WUlist -Notkategorija "Gonilniki" -NotTitle OneDrive -NotKBArticleID KB4533002

Install-WindowsUpdate: Namestite posodobitve s PSWindowsUpdate

Če želite samodejno prenesti in namestiti vse posodobitve, ki so na voljo za vaš Windows, naredite:

Namestite-WindowsUpdate -MicrosoftUpdate -AcceptAll -AutoReboot

Tipka AcceptAll omogoča odobritev namestitve za vse pakete, AutoReboot pa omogoča, da se Windows samodejno znova zažene po namestitvi posodobitev..

Shranite lahko zgodovino nameščanja posodobitev v datoteko dnevnika (lahko jo uporabite namesto WindowsUpdate.log).

Namestitev-WindowsUpdate -AcceptAll -Install -AutoReboot | Out-File "c: \ $ (dobite datum -f yyyy-MM-dd) -WindowsUpdate.log" -force

Namestite lahko samo posebne posodobitve po številki KB:

Get-WindowsUpdate -KBArticleID KB2267602, KB4533002 -Install

V tem primeru morate ročno potrditi namestitev vsake posodobitve.

Če želite iz seznama namestitve izključiti nekatere posodobitve, storite:

Namestitev-WindowsUpdate -NotCategory "Gonilniki" -NotTitle OneDrive -NotKBArticleID KB4011670 -AcceptAll -IgnoreReboot

Modul vam omogoča, da na daljavo začnete nameščati posodobitve na več računalnikov ali strežnikov hkrati (modul PSWindowsUpdate mora biti prisoten v računalnikih). To je še posebej priročno, ker omogoča skrbniku, da med predvideno namestitvijo posodobitev ročno ne vstopi v vse strežnike. Naslednji ukaz bo namestil vse razpoložljive posodobitve na tri oddaljene strežnike:

Pokliči-WUInstall -ComputerName server1, server2, server3 -Script ipmo PSWindowsUpdate; Get-WindowsUpdate -Install -AcceptAll -AutoReboot | Out-File C: \ Windows \ PSWindowsUpdate.log -Potrdite: $ false -Verbose -SkipModuleTest -RunNow

V modulu PSWindowsUpdate 2.1 morate namesto ukaznika Invoke-WUInstall namestiti Invoke-WUJob. Ta cmdlet ustvari opravilo planerja na oddaljenem računalniku, ki teče iz sistema SYSTEM.

Zato v novih različicah modula za daljinsko namestitev posodobitev uporabite naslednji ukaz:

$ ServerNames = "server1, server2, server3"
Pokliči-WUJob -ComputerName $ ServerNames -Script ipmo PSWindowsUpdate; Namestitev-WindowsUpdate -AcceptAll | Out-File C: \ Windows \ PSWindowsUpdate.log -RunNow -Confirm: $ false

Na oddaljeni računalnik lahko namestite posodobitve in skrbniku pošljete e-poštno poročilo:

Namestite-WindowsUpdate -ComputerName server1 -MicrosoftUpdate -AcceptAll - IgnoreReboot -SendReport -PSWUSettings @ SmtpServer = "smtp.winitpro.ru"; From = "[email protected]"; To = "[email protected]"; 25 -Verboza

Get-WUHistory: Oglejte si zgodovino nameščenih posodobitev sistema Windows

Uporaba ukaza Zgodi se seznam posodobitev, nameščenih v računalniku, prejmete samodejno ali ročno.

Informacije o datumu namestitve določene posodobitve lahko dobite:

Get-WUHistory | Kjer-Predmet $ _. Naslov -zdih "KB4517389" | Izberi-objekt * | ft

Če želite dobiti informacije o nameščeni posodobitvi v več oddaljenih računalnikih, lahko uporabite to kodo:

"server1", "server2" | Get-WUHistory | Kjer-Predmet $ _. Naslov -zdih "KB4011634" | Izberi-objekt * | ft

Remove-WindowsUpdate: Odstranite posodobitve

Če želite pravilno odstraniti posodobitve, uporabite ukazni ukaz Odstrani-WindowsUpdate. Morate samo določiti številko KB kot argument parametra KBArticleID. Če želite samodejni zagon računalnika zamuditi, lahko dodate tipko -NoRestart:

Odstrani-WindowsUpdate -KBArticleID KB4011634 -NoRestart

Skrij-WindowsUpdate: kako skriti nepotrebne posodobitve s programom PowerShell

Nekatere posodobitve lahko skrijete tako, da jih storitev Windows Update v računalniku nikoli ne namesti (najpogosteje skrivajo posodobitve gonilnikov). Na primer, da skrijete posodobitve KB2538243 in KB4524570, zaženite naslednje ukaze:

$ HideList = "KB2538243", "KB4524570"
Get-WindowsUpdate -KBArticleID $ HideList -Hide

ali uporabite vzdevek:

Skrij-WindowsUpdate -KBArticleID $ HideList -Verbose

Zdaj naslednjič s pomočjo ukaza iščete posodobitve Get-WUlist skrite posodobitve ne bodo prikazane na seznamu popravkov, ki so na voljo za namestitev.

V tem računalniku lahko navedete posodobitve, ki so skrite v tem računalniku:

Get-WindowsUpdate -IsHidden

Upoštevajte, da se je atribut H (skriti) pojavil v stolpcu Status skritih posodobitev.

Skrivanje nekaterih posodobitev lahko razveljavite na naslednji način:

Get-WindowsUpdate -KBArticleID $ HideList -SHidden -Hide: $ false

ali tako:

Prikaži-WindowsUpdate -KBArticleID $ HideList

Za tiste, ki se v konzoli PowerShell počutijo neprijetno, lahko priporočam grafični pripomoček Windows Update MiniTool za upravljanje posodobitev sistema Windows 10.