PSWindowsUpdate modul a Windows frissítéseinek kezeléséhez a PowerShell-ből

Nagyon kényelmes egy speciális PowerShell modult használni a Windows frissítések kezeléséhez a parancssorból - PSWindowsUpdate. A PSWindowsUpdate modul nincs beépítve a Windows rendszerbe, és egy harmadik fél modulja, amely elérhető a Technet Script Galériában. A PSWindowsUpdate segítségével az adminisztrátorok távolról ellenőrizhetnek, telepíthetnek, eltávolíthatnak és elrejthetnek bizonyos frissítéseket a számítógépeken és a munkaállomásokon. A PSWindowsUpdate modul különösen akkor hasznos, ha a Windows Server Core kiadásaiban, amelyek nem tartalmaznak grafikus felületet, frissítéseket kezel, valamint amikor Windows képet állít be ellenőrzési módban.

Tartalom:

  • Telepítse a PSWindowsUpdate frissítéskezelő modult
  • A PSWindowsUpdate modulparancsok áttekintése
  • A Windows frissítések kezelése a távoli számítógépeken a PowerShell segítségével
  • Töltse le az elérhető Windows frissítések listáját a PowerShell-ből
  • Telepítés-WindowsUpdate: A PSWindowsUpdate használatával telepítse a frissítéseket
  • Get-WUHistory: A telepített Windows frissítések előzményeinek megtekintése
  • Eltávolítás - WindowsUpdate: Távolítsa el a frissítéseket
  • Hide-WindowsUpdate: a felesleges frissítések elrejtése a PowerShell használatával

Telepítse a PSWindowsUpdate frissítéskezelő modult

Ha Windows 10 rendszert használ, akkor telepítheti a PSWindowsUpdate modult az online lerakatból a PackageManagement csomagkezelőn keresztül, egyetlen paranccsal:

Telepítési modul - Név PSWindowsUpdate

Az én esetemben figyelmeztetés jelent meg, hogy a PSWindowsUpdate 1.5.2.6 már telepítve van. Egy újabb verzió telepítéséhez a következő parancsot kell futtatnia:

Telepítés-Modul - Név PSWindowsUpdate -Force

A telepítés befejezése után ellenőriznie kell a csomag rendelkezésre állását:

Get-Package -Name PSWindowsUpdate

Ha telepítve van a Windows régebbi verziója (Windows 7 / 8.1 / Windows Server 2008 R2 / 2012 R2), vagy nincs közvetlen internethozzáférése, manuálisan telepítheti a PSWindowsUpdate modult.

A PSWindowsUpdate modult a Windows bármely támogatott verziójára telepítheti, a Vista / Windows Server 2008-tól kezdve, telepítve a PowerShell 2.0 verzióval (de a PoSh 3.0 vagy újabb verzió ajánlott).

  1. Töltse le a PSWindowsUpdate modul legújabb verzióját az oldalról: https://gallery.technet.microsoft.com/scriptcenter/2d191bcd-3308-4edd-9de2-88dff796b0bc, és oldja fel a letöltött fájlt; vegye figyelembe, hogy csak a modul régi verziója érhető el a TechNet szkriptgalériában - v 1.5.6. Míg a NuGet csomagkezelő telepíti a PSWindowsUpdate 2.1.1.2 verziót a PowershellGallery-ből. A rendelkezésre álló parancsmagok és paraméterek a modul különböző verzióinál változhatnak..
  2. Csomagolja ki az archívumot a modullal az egyik könyvtárba % USERPROFILE% \ Documents \ WindowsPowerShell \ Modulok vagy % WINDIR% \ System32 \ WindowsPowerShell \ v1.0 \ Modulok (a modul folyamatos használatával ez a legjobb megoldás);
  3. Szkriptek engedélyezése: Set-ExecutionPolicy -Scope Process -ExecutionPolicy Korlátlan -Force
  4. Most importálhatja a modult a PowerShell-munkamenetbe: PSWindowsUpdate importmodul megjegyzés. A Windows 7 / Server 2008 R2 rendszerben, amikor a PSWindowsUpdate modult importálja, olyan hibát észlelhet, mint például: Az "Unblock-File" nevét nem ismeri fel a parancsmag neve. A tény az, hogy a modul olyan funkciókat használ, amelyek csak a PowerShell 3.0-ben jelentek meg. Ezeknek a funkcióknak a használatához frissítenie kell a PowerShell szoftvert, vagy manuálisan törölnie kell a sort | A fájl feloldása a PSWindowsUpdate.psm1 fájlból.

A PSWindowsUpdate modul számítógépre telepítése után távolról telepítheti azt a parancsmag segítségével más számítógépekre vagy szerverekre. Update WUModule. Például, ha a PSWindowsUpdate modult a számítógépről két távoli szerverre szeretné másolni, hajtsa végre a következő parancsokat (hozzáférés kell a távoli szerverekhez SMB protokollon keresztül, TCP 445 port):

$ Targets = "Server1", "Server2"
Frissítés-WUModule -ComputerName $ Célok -Local

Ha a modult egy hálózati könyvtárba szeretné elmenteni a modul további importálására más számítógépeken:

Mentés-modul -Név PSWindowsUpdate -Path \\ fs01 \ ps \

A PSWindowsUpdate modulparancsok áttekintése

Az elérhető modul-parancsmagok listája így jeleníthető meg:

get-command -module PSWindowsUpdate

Röviden ismertetjük a modulparancsok célját:

  • Tiszta-WUJob - A Get-WUJob használatával hívja elő a WUJob jobot az ütemezőben.
  • Download-WindowsUpdate (álnév a Get-WindowsUpdate -Download-hoz) - szerezze be a frissítések listáját és töltse le őket;
  • Get-WUInstall, Install-WindowsUpdate (álnév a Get-WindowsUpdate -Install-hoz) - frissítések telepítése;
  • Hide-WindowsUpdate (álnév a Get-WindowsUpdate -Hide: $ false számára) - elrejti a frissítést;
  • Uninstall-WindowsUpdate - távolítsa el a frissítést az Eltávolítás-WindowsUpdate használatával;
  • hozzáad-WUServiceManager - regisztrálja a frissítő szervert (Windows Update Service Manager) a számítógépen;
  • Engedélyezze-WURemoting - engedélyezze azokat a tűzfalszabályokat, amelyek lehetővé teszik a PSWindowsUpdate parancsmag távoli használatát;
  • Get-WindowsUpdate (Get-WUList) - megjeleníti a megadott feltételeknek megfelelő frissítések listáját, lehetővé teszi a kívánt frissítés megtalálását és telepítését. Ez a PSWindowsUpdate modul fő parancsmagja. Lehetővé teszi a frissítések letöltését és telepítését egy WSUS szerverről vagy a Microsoft Update webhelyről. Lehetővé teszi a frissítések kategóriáinak, a konkrét frissítéseknek a kiválasztását, és meghatározhatja a számítógép újraindításának szabályait a frissítések telepítésekor;
  • Get-WUApiVersion - Töltse le a Windows Update Agent verzióját a számítógépen
  • Get-WUHistory - megjeleníti a telepített frissítések listáját (frissítési előzmények);
  • Get-WUInstallerStatus - A Windows Installer szolgáltatás állapotának ellenőrzése
  • Get-WUJob - Futtassa a WUJob frissítési feladatokat a Feladatütemezőben
  • Get-WULastResults - az utolsó keresés és a frissítések telepítésének dátumai (LastSearchSuccessDate és LastInstallationSuccessDate);
  • Get-WURebootStatus - lehetővé teszi annak ellenőrzését, hogy szükség van-e újraindításra egy adott frissítés alkalmazásához;
  • Get-WUServiceManager - kimeneti frissítési források;
  • Get-WUSettings - Töltse le a Windows Update kliens beállításait
  • Invoke-WUJob - a WUJobs jobok távoli meghívása a Task Schduler alkalmazásban a PSWindowsUpdate jobok azonnal végrehajtásához.
  • Remove-WindowsUpdate - eltávolítás frissítés;
  • Remove-WUServiceManager - tiltsa le a Windows Update Service Manager alkalmazást;
  • Set-PSWUSettings - mentse a PSWindowsUpdate modul beállításait egy XML fájlba;
  • Set-WUSettings - Konfigurálja a Windows Update kliens beállításait
  • Update WUModule - frissítse a PSWindowsUpdate modult (frissítheti a modult egy távoli számítógépen, másolva azt a jelenlegiből, vagy frissítheti a PSGallery-ből).

A Windows frissítések kezelése a távoli számítógépeken a PowerShell segítségével

Szinte az összes PSWindowsUpdate modul-parancsmag lehetővé teszi a frissítések telepítésének vezérlését a távoli számítógépeken. Ehhez az attribútumot kell használni. -Számítógépnév Host1, Host2, Host3.

A távoli számítógépek frissítéseinek kezeléséhez hozzá kell adniuk a nevüket a Winrm megbízható gazdagép listájához:

winrm set winrm / config / client '@ TrustedHosts = "HOST1, HOST2, ..."'

Telepítse a PSWindowsUpdate modult a távoli számítógépekre, és hagyja, hogy a dllhost.exe folyamat hozzáférhessen a tűzfal dinamikus RPC portjaihoz..

Töltse le az elérhető Windows frissítések listáját a PowerShell-ből

A Get-WindowsUpdate vagy a Get-WUList parancsokkal felsorolhatja a számítógép számára elérhető frissítéseket a frissítőkiszolgálón..

A távoli számítógépen elérhető frissítések listájának ellenőrzéséhez tegye a következőket:

Get-WUList -ComputerName server2

Ellenőrizheti, hogy a Windows operációs rendszerhez honnan kell frissítéseket kapnia. Futtassa a parancsot:

Get-WUServiceManager

A ServiceID IsManaged alapértelmezett neve --------- --------- --------- ---- 8b24b027-1dee-babb-9a95-3517dfb9c552 Hamis Hamis DCat Repülési Prod 855e8a7c -ecb4-4ca3-b045-1dfa50104289 False False Windows Store (DCat Prod) 3da21691-e39d-4da6-8a4b-b43877bcb1b7 Valódi True Windows Server frissítési szolgáltatás 9482f4b4-e343-43b6-b170-9a65bc822c77

Mint láthatja, a számítógép úgy van konfigurálva, hogy frissítéseket fogadjon a helyi WSUS-kiszolgálótól (Windows Server Update Service = True). Ebben az esetben látnia kell a számítógépéhez jóváhagyott frissítések listáját a WSUS-on.

Ha a számítógépet a Microsoft Update kiszolgálóin (a Windows frissítéseken kívül az Office frissítéseket és más termékeket tartalmaz) az Interneten szeretné beolvasni, futtassa a következő parancsot:

Get-WUlist -MicrosoftUpdate

Figyelmeztetést kap:

Get-WUlist: A Windows Update szolgáltatás nem található a számítógépen

A szkennelés engedélyezéséhez a Microsoft Update rendszeren futtassa a következő parancsot:

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

Most beolvashatja a Microsoft Update webhelyre. Mint láthatja, ebben az esetben további frissítéseket találtak a Microsoft Visual C ++ 2008 és a Microsoft Silverlight számára.

A Windows Update Agent verziójának ellenőrzéséhez a számítógépen futtassa a következő parancsot:

Get-WUApiVersion

Számítógépnév PSWindowsUpdate PSWUModuleDll ApiVersion WuapiDllVersion ------------ --------------- ------------- ----- ----- --------------- FS01 2.1.1.2 2.0.6995.28496 8.0 10.0.14393.2879

Bizonyos termékek vagy meghatározott csomagok eltávolításához a számítógép által kapott frissítések listájából kizárhatja azokat:

  • Kategóriák (-NotCategory);
  • Név (-NotTitle);
  • Frissítési szám (-NotKBArticleID).

Például kizárjuk az illesztőprogram-frissítések listájából a OneDrive és egy adott KB fájlt:

Get-WUlist -NotCategory "Illesztőprogramok" -NotTitle OneDrive -NotKBArticleID KB4533002

Telepítés-WindowsUpdate: A PSWindowsUpdate használatával telepítse a frissítéseket

A Windows összes elérhető frissítésének automatikus letöltéséhez és telepítéséhez tegye a következőket:

Telepítés-WindowsUpdate -MicrosoftUpdate -AcceptAll -AutoReboot

Az AcceptAll kulcs lehetővé teszi az összes csomag telepítésének jóváhagyását, az AutoReboot lehetővé teszi a Windows számára, hogy a frissítések telepítése után automatikusan újrainduljon..

A naplófájl frissítéseinek telepítésének előzményeit mentheti (a WindowsUpdate.log helyett használható).

Telepítés - WindowsUpdate -AcceptAll -Install -AutoReboot | Kihagyott fájl "c: \ $ (beszerzési dátum-é éééé-hh-nn) -WindowsUpdate.log" -erő

Kizárólag a KB szám szerinti frissítések telepíthetők:

Get-WindowsUpdate -KBArticleID KB2267602, KB4533002 - Telepítse

Ebben az esetben manuálisan meg kell erősítenie az egyes frissítések telepítését.

Ha ki szeretne zárni néhány frissítést a telepítési listából, tegye a következőket:

Telepítés - WindowsUpdate -NotCategory "Illesztőprogramok" -NotTitle OneDrive -NotKBArticleID KB4011670 -AcceptAll -IgnoreReboot

A modul lehetővé teszi a frissítések telepítésének elindítását egyszerre több számítógépre vagy kiszolgálóra (a PSWindowsUpdate modulnak jelen kell lennie a számítógépeknél). Ez különösen kényelmes, mert lehetővé teszi az adminisztrátor számára, hogy a frissítések ütemezett telepítése során ne adja meg kézzel az összes kiszolgálót. A következő parancs az összes elérhető frissítést három távoli kiszolgálóra telepíti:

Invoke-WUInstall -ComputerName kiszolgáló1, kiszolgáló2, kiszolgáló3-script ipmo PSWindowsUpdate; Get-WindowsUpdate -Install -AcceptAll -AutoReboot | Kimenő fájl C: \ Windows \ PSWindowsUpdate.log -Megerősítés: $ false -Verbose -SkipModuleTest -RunNow

A PSWindowsUpdate 2.1 modulban az Invoke-WUInstall parancsmag helyett az Invoke-WUJob alkalmazást kell használnia. Ez a parancsmag létrehoz egy ütemező feladatot a távoli számítógépen, amely a SYSTEM-től fut.

Ezért a frissítés távoli telepítésére szolgáló modul új verzióiban használja a következő parancsot:

$ ServerNames = “server1, server2, server3”
Invoke-WUJob -ComputerName $ ServerNames -Script ipmo PSWindowsUpdate; Telepítés - WindowsUpdate -AcceptAll | Kimenő fájl C: \ Windows \ PSWindowsUpdate.log -RunNow -Confirm: $ false

Telepítheti a frissítéseket egy távoli számítógépre, és e-mail jelentést küldhet az adminisztrátornak:

Telepítés-WindowsUpdate-Számítógép név szerver1 -MicrosoftUpdate -AcceptAll - IgnoreReboot -SendReport -PSWUSettings @ SmtpServer = "smtp.winitpro.ru"; From = "[email protected]"; To = "[email protected]"; 25 -Verbose

Get-WUHistory: A telepített Windows frissítések előzményeinek megtekintése

Parancs segítségével Get-WUHistory beszerezheti a korábban automatikusan vagy manuálisan telepített frissítések listáját.

Információkat kaphat egy adott frissítés telepítésének dátumáról:

Get-WUHistory | Hol-objektum $ _. Cím -match "KB4517389" | Select-Object * | ft

Ha több távoli számítógépen szeretne információkat szerezni a telepített frissítésről, használja a következő kódot:

"szerver1", "szerver2" | Get-WUHistory | Hol-objektum $ _. Cím -match "KB4011634" | Select-Object * | ft

Eltávolítás - WindowsUpdate: Távolítsa el a frissítéseket

A frissítések helyes eltávolításához használja a parancsmagot Remove-WindowsUpdate. Csak meg kell adnia a KB számot a KBArticleID paraméter argumentumaként. A számítógép automatikus újraindításának késleltetéséhez adjon hozzá egy kulcsot -NoRestart:

Eltávolítás-WindowsUpdate -KBArticleID KB4011634 -NoRestart

Hide-WindowsUpdate: a felesleges frissítések elrejtése a PowerShell használatával

Elrejtheti az egyes frissítéseket, hogy azokat a Windows Update szolgáltatás soha nem telepítse a számítógépére (leggyakrabban az illesztőprogram-frissítéseket rejtik el). Például a KB2538243 és a KB4524570 frissítések elrejtéséhez futtassa a következő parancsokat:

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

vagy használjon álnevet:

Hide-WindowsUpdate -KBArticleID $ HideList -Verbose

Most, amikor legközelebb a parancs segítségével keresi a frissítéseket Get-WUlist a rejtett frissítések nem jelennek meg a telepítéshez elérhető javítások listájában.

A számítógépen rejtett frissítéseket a következőképpen sorolhatja fel:

Get-WindowsUpdate -IsHidden

Felhívjuk figyelmét, hogy a H (Rejtett) attribútum megjelent az Állapot oszlopban a rejtett frissítéseknél.

Egyes frissítések elrejtését az alábbiak szerint vonhatja vissza:

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

vagy úgy:

Show-WindowsUpdate -KBArticleID $ HideList

Azok számára, akik kényelmetlenül érzik magukat a PowerShell konzolban, ajánlom a Windows Update MiniTool grafikus segédprogramot a Windows 10 frissítéseinek kezeléséhez..