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).
- 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..
- 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); - Szkriptek engedélyezése:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Korlátlan -Force
- 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..