Computer >> คอมพิวเตอร์ >  >> ระบบ >> Windows Server

จัดการ Windows Updates ด้วย PSWindowsUpdate PowerShell Module

คุณสามารถใช้ PSWindowsUpdate โมดูล PowerShell เพื่อจัดการการอัปเดต Windows จากบรรทัดคำสั่ง โมดูล PSWindowsUpdate ไม่ได้สร้างขึ้นใน Windows และพร้อมสำหรับการติดตั้งจากที่เก็บแกลเลอรี PowerShell PSWindowsUpdate ช่วยให้ผู้ดูแลระบบสามารถตรวจสอบ ติดตั้ง ลบ และซ่อนการอัปเดตบนเซิร์ฟเวอร์และเวิร์กสเตชัน Windows จากระยะไกล โมดูล PSWindowsUpdate มีประโยชน์อย่างยิ่งในการจัดการการอัปเดตบน Windows Server Core หรือ Hyper-V Server (ซึ่งไม่มี GUI) และเมื่อกำหนดค่าอิมเมจ Windows ในโหมดการตรวจสอบ

การติดตั้งโมดูล PSWindowsUpdate

คุณสามารถติดตั้งโมดูล PSWindowsUpdate บน Windows 10/11 และ Windows Server 2022/2019/2016 จากที่เก็บออนไลน์ (PSGallery) โดยใช้ PackageManagement ด้วยคำสั่งเดียว:

Install-Module -Name PSWindowsUpdate -Force

หลังจากการติดตั้งเสร็จสมบูรณ์ คุณต้องตรวจสอบแพ็คเกจ:

Get-Package -Name PSWindowsUpdate

จัดการ Windows Updates ด้วย PSWindowsUpdate PowerShell Module

เมื่อติดตั้งโมดูล PowerShell ใน Windows 2012R2/Windows 8.1 เวอร์ชันก่อนหน้าหรือต่ำกว่า คุณอาจได้รับข้อผิดพลาด:

ติดตั้ง-โมดูล:ไม่สามารถดาวน์โหลดจาก URI ไม่สามารถดาวน์โหลดรายชื่อผู้ให้บริการที่มีอยู่ได้ ตรวจสอบการเชื่อมต่ออินเทอร์เน็ตของคุณ

ในการติดตั้งโมดูล คุณต้องใช้โปรโตคอล TLS 1.2 สำหรับการเชื่อมต่อ เปิดใช้งานสำหรับเซสชัน PowerShell ปัจจุบันด้วยคำสั่ง:

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

หากคุณมี Windows รุ่นเก่ากว่า (Windows 7/8.1/Windows Server 2008 R2/2012 R2) หรือคุณไม่มีการเข้าถึงอินเทอร์เน็ตโดยตรง คุณสามารถติดตั้ง PSWindowsUpdate ด้วยตนเอง (ตรวจสอบคำแนะนำ “วิธีการติดตั้งโมดูล PowerShell แบบออฟไลน์”) .

  1. ดาวน์โหลดโมดูล PSWindowsUpdate ไปยังคอมพิวเตอร์ออนไลน์เครื่องใดก็ได้:Save-Module –Name PSWindowsUpdate –Path C:\ps\;
  2. คัดลอกโมดูลไปยังโฟลเดอร์ต่อไปนี้บนคอมพิวเตอร์เป้าหมาย %WINDIR%\System32\WindowsPowerShell\v1.0\Modules; จัดการ Windows Updates ด้วย PSWindowsUpdate PowerShell Module
  3. กำหนดค่านโยบายการดำเนินการสคริปต์ PowerShell:Set-ExecutionPolicy –ExecutionPolicy RemoteSigned -force
  4. ขณะนี้คุณสามารถนำเข้าโมดูลไปยังเซสชัน PowerShell ของคุณได้:Import-Module PSWindowsUpdate
หมายเหตุ . ใน Windows 7/Windows Server 2008 R2 เมื่อนำเข้าโมดูล PSWindowsUpdate ข้อผิดพลาดต่อไปนี้อาจปรากฏขึ้น:ไม่รู้จักคำว่า "Unblock-File" เป็นชื่อของ cmdlet . สาเหตุคือโมดูลใช้ฟังก์ชันบางอย่างที่ปรากฏใน PowerShell 3.0 เท่านั้น หากต้องการใช้ฟังก์ชันเหล่านี้ คุณจะต้องอัปเดตเวอร์ชัน PowerShell หรือลบ | Unblock-File บรรทัดจากไฟล์ PSWindowsUpdate.psm1 ด้วยตนเอง

หลังจากติดตั้งโมดูล PSWindowsUpdate บนคอมพิวเตอร์ของคุณแล้ว คุณสามารถติดตั้งจากระยะไกลบนคอมพิวเตอร์หรือเซิร์ฟเวอร์เครื่องอื่นได้โดยใช้ Update-WUModule cmdlet ตัวอย่างเช่น ในการคัดลอกโมดูล PSWindowsUpdate จากคอมพิวเตอร์ของคุณไปยังโฮสต์ระยะไกลสองตัว ให้เรียกใช้คำสั่ง (คุณต้องเข้าถึงเซิร์ฟเวอร์ระยะไกลผ่านโปรโตคอล WinRM):

$Targets = "lon-fs02", "lon-db01"
Update-WUModule -ComputerName $Targets –Local

หากต้องการบันทึก (ส่งออก) โมดูล PoSh ไปยังโฟลเดอร์เครือข่ายที่ใช้ร่วมกันสำหรับการนำเข้าเพิ่มเติมบนคอมพิวเตอร์เครื่องอื่น ให้เรียกใช้:

Save-Module -Name PSWindowsUpdate –Path \\lon-fs02\psmodules\

รายการ cmdlet ของ PSWindowsUpdate

คุณสามารถแสดงรายการ cmdlet ที่มีอยู่ในโมดูล PSWindowsUpdate ได้ดังนี้:

get-command -module PSWindowsUpdate

มาอธิบายการใช้คำสั่งโมดูลโดยสังเขป:

  • เคลียร์-WUJob – ใช้ Get-WUJob เพื่อล้าง WUJob ใน Task Scheduler;
  • ดาวน์โหลด-WindowsUpdate (นามแฝงสำหรับ Get-WindowsUpdate –Download ) — รับรายการอัปเดตและดาวน์โหลด;
  • รับ-WUIInstall ติดตั้ง-WindowsUpdate (นามแฝงสำหรับ Get-WindowsUpdate –Install ) – ติดตั้งการอัปเดต Windows;
  • ซ่อน-WindowsUpdate (นามแฝงสำหรับ Get-WindowsUpdate -Hide:$false ) – ซ่อนการอัปเดต
  • ถอนการติดตั้ง-WindowsUpdate – ลบการอัปเดตโดยใช้ Remove-WindowsUpdate;
  • Add-WUServiceManager – ลงทะเบียนเซิร์ฟเวอร์การอัพเดท (Windows Update Service Manager) บนคอมพิวเตอร์
  • เปิดใช้งาน-WURemoting — เปิดใช้งานกฎไฟร์วอลล์ Windows Defender เพื่ออนุญาตให้ใช้ cmdlet ของ PSWindowsUpdate จากระยะไกล
  • รับ-WindowsUpdate (Get-WUList) — แสดงรายการอัปเดตที่ตรงกับเกณฑ์ที่ระบุ ช่วยให้คุณค้นหาและติดตั้งการอัปเดตได้ นี่คือ cmdlet หลักของโมดูล PSWindowsUpdate อนุญาตให้ดาวน์โหลดและติดตั้งการอัปเดตจากเซิร์ฟเวอร์ WSUS หรือ Microsoft Update ให้คุณเลือกหมวดหมู่การอัปเดต การอัปเดตเฉพาะ และกำหนดกฎของการรีสตาร์ทคอมพิวเตอร์เมื่อติดตั้งการอัปเดต
  • รับ-WUApiVersion – รับเวอร์ชัน Windows Update Agent บนคอมพิวเตอร์
  • รับ-WUHistory – แสดงรายการอัปเดตที่ติดตั้ง (ประวัติการอัปเดต);
  • รับ-WUIInstallerStatus — ตรวจสอบสถานะการบริการ Windows Installer
  • รับ-WUJob – ตรวจสอบงานการอัพเดท WUJob ใน Task Scheduler;
  • รับ-WULastResults — วันที่ของการค้นหาครั้งล่าสุดและติดตั้งการอัปเดต (LastSearchSuccessDate และ LastInstallationSuccessDate );
  • รับ-WURebootStatus — ให้คุณตรวจสอบว่าจำเป็นต้องรีบูตเพื่อใช้การอัปเดตเฉพาะหรือไม่
  • รับ-WUServiceManager – แสดงรายการแหล่งที่มาของการอัปเดต
  • รับ-WUSettings – รับการตั้งค่าไคลเอนต์ Windows Update
  • Invoke-WUJob – เรียกใช้งาน WUJobs จากระยะไกลใน Task Scheduler เพื่อรันคำสั่ง PSWindowsUpdate ทันที
  • ลบ-WindowsUpdate – อนุญาตให้ถอนการติดตั้งการอัปเดตด้วย KB ID;
  • ลบ-WUServiceManager – ปิดการใช้งาน Windows Update Service Manager;
  • ตั้งค่า PSWUSettings – บันทึกการตั้งค่าโมดูล PSWindowsUpdate ลงในไฟล์ XML;
  • ตั้งค่า-WUSettings – กำหนดการตั้งค่าไคลเอนต์ Windows Update
  • อัปเดต-WUModule – อัปเดตโมดูล PSWindowsUpdate (คุณสามารถอัปเดตโมดูลบนคอมพิวเตอร์ระยะไกลได้โดยการคัดลอกจากโมดูลปัจจุบัน หรืออัปเดตจาก PSGallery)
  • รีเซ็ต-WUComponents อนุญาตให้คุณรีเซ็ตเอเจนต์ Windows Update บนคอมพิวเตอร์เป็นสถานะเริ่มต้น

จัดการ Windows Updates ด้วย PSWindowsUpdate PowerShell Module

ในการตรวจสอบการตั้งค่าไคลเอนต์ Windows Update ปัจจุบัน ให้รันคำสั่ง:

Get-WUSettings

 คอมพิวเตอร์:WKS5S2N39S2WUServer:https:// MN-WSUS:8530WUStatusServer:https:// MN-WSUS:8530AcceptTrustedPublisherCerts:1ElevateNonAdmins:1DoNotConnectToWindowsUpdateInternetLocations:1TargetGroupEnabled:1TargetGroup:ServersProdNoAutoUpdate:0AUOptions:3 - แจ้งก่อน installationScheduledInstallDay:0 - ทุก DayScheduledInstallTime:3UseWUServer :1AutoInstallMinorUpdates :0AlwaysAutoRebootAtScheduledTime :0DetectionFrequencyEnabled :1DetectionFrequency :4

ในตัวอย่างนี้ เอเจนต์ Windows Update บนคอมพิวเตอร์ได้รับการกำหนดค่าด้วย GPO เพื่อรับการอัปเดตจากเซิร์ฟเวอร์ WSUS ในเครื่อง

Reset-WUComponents -Verbose cmdlet อนุญาตให้คุณรีเซ็ตการตั้งค่า Windows Update Agent ทั้งหมด ลงทะเบียนไลบรารีใหม่ และกู้คืน wususerv บริการสู่สถานะเริ่มต้น

จัดการ Windows Updates ด้วย PSWindowsUpdate PowerShell Module

สแกนและดาวน์โหลด Windows Updates ด้วย PowerShell

คุณสามารถแสดงรายการการอัปเดตที่พร้อมใช้งานสำหรับคอมพิวเตอร์ปัจจุบันบนเซิร์ฟเวอร์การอัปเดตโดยใช้ Get-WindowsUpdate หรือ Get-WUList คำสั่ง

จัดการ Windows Updates ด้วย PSWindowsUpdate PowerShell Module

หากต้องการตรวจสอบรายการอัปเดตที่มีอยู่บนคอมพิวเตอร์ระยะไกล ให้เรียกใช้คำสั่งนี้:

Get-WUList –ComputerName server2

คุณสามารถตรวจสอบว่า Windows ของคุณควรได้รับการอัปเดตจากที่ใด เรียกใช้คำสั่งต่อไปนี้:

Get-WUServiceManager

ServiceID IsManaged IsDefault Name--------- --------- --------- ----8b24b027-1dee-babb-9a95-3517dfb9c552 False False DCat เที่ยวบิน Prod855e8a7c-ecb4-4ca3-b045-1dfa50104289 False False Windows Store (DCat Prod)3da21691-e39d-4da6-8a4b-b43877bcb1b7 True True Windows Server Update Service9482f4b4-e343-43b6-b170-9a65bc822cpre77 เท็จ> เท็จ 

จัดการ Windows Updates ด้วย PSWindowsUpdate PowerShell Module

อย่างที่คุณเห็น คอมพิวเตอร์ได้รับการกำหนดค่าให้รับการอัปเดตจากเซิร์ฟเวอร์ WSUS ในเครื่อง (Windows Server Update Service =True ). ในกรณีนี้ คุณควรเห็นรายการอัปเดตที่ได้รับอนุมัติสำหรับคอมพิวเตอร์ของคุณ

หากคุณต้องการสแกนคอมพิวเตอร์ของคุณกับเซิร์ฟเวอร์ Microsoft Update บนอินเทอร์เน็ต (นอกเหนือจากการอัปเดตของ Windows แล้ว เซิร์ฟเวอร์เหล่านี้ประกอบด้วย Office และการอัปเดตผลิตภัณฑ์ Microsoft อื่นๆ) ให้เรียกใช้คำสั่งนี้:

Get-WUlist -MicrosoftUpdate

คุณจะได้รับคำเตือนนี้:

Get-WUlist :ไม่พบบริการ Windows Update บนคอมพิวเตอร์ ใช้ Get-WUServiceManager เพื่อรับบริการที่ลงทะเบียน

หากต้องการอนุญาตการสแกนใน Microsoft Update ให้เรียกใช้คำสั่งนี้:

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

คุณสามารถสแกนหา Microsoft Update ได้แล้ว ในกรณีนี้ พบการอัปเดตเพิ่มเติมสำหรับ Microsoft Visual C ++ 2008 และ Microsoft Silverlight

จัดการ Windows Updates ด้วย PSWindowsUpdate PowerShell Module

หากต้องการตรวจสอบเวอร์ชันของ Windows Update Agent บนคอมพิวเตอร์ ให้เรียกใช้คำสั่ง:

Get-WUApiVersion

<ก่อนหน้า>ชื่อคอมพิวเตอร์ PSWindowsUpdate PSWUModuleDll ApiVersion WuapiDllVersion ------------ --------------- ------------- -- -------- --------------- DESKTOP-J... 2.1.1.2 2.2.0.2 8.0 10.0.19041.1320

จัดการ Windows Updates ด้วย PSWindowsUpdate PowerShell Module

หากต้องการลบผลิตภัณฑ์หรือ KB เฉพาะออกจากรายการอัปเดตที่ได้รับจากคอมพิวเตอร์ของคุณ คุณสามารถยกเว้นได้โดย:

  • หมวดหมู่ (-NotCategory );
  • หัวเรื่อง (-NotCategory );
  • อัปเดตหมายเลข (-NotKBArticleID )

ตัวอย่างเช่น ไม่รวม OneDrive การอัปเดตไดรเวอร์ และ KB เฉพาะจากรายการ:

Get-WUlist -NotCategory "Drivers" -NotTitle "OneDrive" -NotKBArticleID KB4489873

การติดตั้ง Windows Update ด้วย PowerShell (ติดตั้ง-WindowsUpdate)

หากต้องการดาวน์โหลดและติดตั้งการอัปเดตทั้งหมดที่มีให้โดยอัตโนมัติสำหรับอุปกรณ์ Windows ของคุณจากเซิร์ฟเวอร์ Windows Update (แทนที่จะเป็น WSUS ในเครื่อง) ให้เรียกใช้คำสั่ง:

Install-WindowsUpdate -MicrosoftUpdate -AcceptAll -AutoReboot

AcceptAll พารามิเตอร์ยอมรับการติดตั้งแพ็คเกจการอัพเดททั้งหมดและ AutoReboot อนุญาตให้ Windows รีสตาร์ทโดยอัตโนมัติหลังจากติดตั้งการอัปเดตแล้ว

คุณยังสามารถใช้ตัวเลือกต่อไปนี้:

  • IgnoreReboot – ปิดใช้งานการรีบูตอัตโนมัติ
  • กำหนดเวลารีบูต – ตั้งเวลาที่แน่นอนในการรีสตาร์ทคอมพิวเตอร์

คุณสามารถบันทึกประวัติการติดตั้งการอัปเดตลงในล็อกไฟล์ได้ (คุณสามารถใช้แทนไฟล์ WindowsUpdate.log)

Install-WindowsUpdate -AcceptAll -Install -AutoReboot | Out-File "c:\logs\$(get-date -f yyyy-MM-dd)-WindowsUpdate.log" -force

คุณสามารถติดตั้งเฉพาะแพ็คเกจการอัพเดทเฉพาะตามหมายเลข KB:

Get-WindowsUpdate -KBArticleID KB2267602, KB4533002 -Install

จัดการ Windows Updates ด้วย PSWindowsUpdate PowerShell Module

ในกรณีนี้ คุณต้องยืนยันการติดตั้งการอัปเดตแต่ละครั้งด้วยตนเอง

หากคุณต้องการแยกการอัปเดตบางอย่างออกจากรายการการติดตั้ง ให้เรียกใช้คำสั่งนี้:

Install-WindowsUpdate -NotCategory "Drivers" -NotTitle OneDrive -NotKBArticleID KB4011670 -AcceptAll -IgnoreReboot

ติดตั้ง Windows Update บนคอมพิวเตอร์ระยะไกลด้วย PowerShell

โมดูล PSWindowsUpdate ช่วยให้คุณติดตั้งการอัปเดตจากระยะไกลบนเวิร์กสเตชันหรือเซิร์ฟเวอร์หลายเครื่องพร้อมกัน (ต้องติดตั้ง/นำเข้า PSWindowsUpdate บนคอมพิวเตอร์เหล่านี้) สะดวกมากเพราะผู้ดูแลระบบไม่ต้องล็อกออนด้วยตนเองไปยังโฮสต์ Windows ระยะไกลเพื่อติดตั้งการอัปเดต ต้องเปิดใช้งานและกำหนดค่า WinRM บนคอมพิวเตอร์ระยะไกล (ด้วยตนเองหรือผ่าน GPO)

cmdlet ของโมดูล PSWindowsUpdate เกือบทั้งหมดช่วยให้คุณสามารถจัดการและติดตั้งการอัปเดต Windows บนคอมพิวเตอร์ระยะไกลด้วย –Computername แอตทริบิวต์

ติดตั้งโมดูล PSWindowsUpdate บนคอมพิวเตอร์ระยะไกลและอนุญาตการเข้าถึงผ่านพอร์ต RPC แบบไดนามิกไปยังกระบวนการ dllhost.exe ในไฟร์วอลล์ Windows Defender คุณสามารถใช้ cmdlet คำสั่ง Invoke เพื่อกำหนดค่าโมดูล PSWindowsUpdate บนคอมพิวเตอร์ระยะไกล:

$Targets = "lon-fs02", "lon-db01"
Invoke-Command -ComputerName $Target -ScriptBlock {Set-ExecutionPolicy RemoteSigned -force }
Invoke-Command -ComputerName $Target -ScriptBlock {Import-Module PSWindowsUpdate; Enable-WURemoting}

โมดูล PSWindowsUpdate สามารถใช้เพื่อจัดการการอัปเดต Windows จากระยะไกลทั้งบนคอมพิวเตอร์ในโดเมน AD และในเวิร์กกรุ๊ป (ต้องมีการกำหนดค่า PowerShell Remoting สำหรับสภาพแวดล้อมเวิร์กกรุ๊ป)

ในการจัดการการอัปเดตบนคอมพิวเตอร์ระยะไกล คุณต้องเพิ่มชื่อโฮสต์ในรายการโฮสต์ที่เชื่อถือได้ของ winrm หรือกำหนดค่า PowerShell Remoting (WinRM) ผ่าน HTTPS:

winrm set winrm/config/client '@{TrustedHosts="server1,server2,…"}'

หรือด้วย PowerShell :
Set-Item wsman:\localhost\client\TrustedHosts -Value server1 -Force

คำสั่งต่อไปนี้จะติดตั้งการอัปเดตที่มีอยู่ทั้งหมดบนโฮสต์ Windows ระยะไกลสามตัว:

$ServerNames = "server1, server2, server3"
Invoke-WUJob -ComputerName $ServerNames -Script {ipmo PSWindowsUpdate; Install-WindowsUpdate -AcceptAll | Out-File C:\Windows\PSWindowsUpdate.log } -RunNow -Confirm:$false -Verbose -ErrorAction Ignore

Invoke-WUJob cmdlet (ก่อนหน้านี้เรียกว่า Invoke-WUIInstall) จะสร้างงานตัวกำหนดตารางเวลาบนคอมพิวเตอร์ระยะไกลที่ทำงานภายใต้บัญชี SYSTEM ในเครื่อง

คุณสามารถระบุเวลาที่แน่นอนในการติดตั้งการอัปเดต Windows:

Invoke-WUJob -ComputerName $ServerNames -Script {ipmo PSWindowsUpdate; Install-WindowsUpdate –AcceptAll -AutoReboot | Out-File C:\Windows\PSWindowsUpdate.log } -Confirm:$false -TriggerDate (Get-Date -Hour 22 -Minute 0 -Second 0)

คุณสามารถตรวจสอบสถานะของงานติดตั้งการอัพเดทได้โดยใช้ Get-WUJob:

Get-WUJob -ComputerName $ServerNames

หากคำสั่งส่งคืนรายการว่าง แสดงว่างานติดตั้งการอัปเดตในคอมพิวเตอร์ทุกเครื่องเสร็จสมบูรณ์

คุณสามารถติดตั้งการอัปเดตบนคอมพิวเตอร์ระยะไกลและส่งรายงานทางอีเมลไปยังผู้ดูแลระบบ:

Install-WindowsUpdate -ComputerName nysrv1 -MicrosoftUpdate -AcceptAll - IgnoreReboot -SendReport –PSWUSettings @{SmtpServer="smtp.woshub.com";From="[email protected]";To="[email protected]";Port=25} -Verbose

ตรวจสอบประวัติการอัปเดต Windows ด้วย PowerShell (Get-WUHistory)

การใช้ Get-WUHistory cmdlet คุณจะได้รับรายการอัปเดตที่ติดตั้งบนคอมพิวเตอร์ก่อนหน้านี้โดยอัตโนมัติหรือด้วยตนเอง

จัดการ Windows Updates ด้วย PSWindowsUpdate PowerShell Module

คุณสามารถรับข้อมูลเกี่ยวกับวันที่ติดตั้งของการอัปเดตเฉพาะ:

Get-WUHistory| Where-Object {$_.Title -match "KB4517389"} | Select-Object *|ft

จัดการ Windows Updates ด้วย PSWindowsUpdate PowerShell Module

หากต้องการดูว่ามีการติดตั้งการอัปเดตเฉพาะบนคอมพิวเตอร์ระยะไกลหลายเครื่องหรือไม่ คุณสามารถใช้รหัส PowerShell นี้:

"server1","server2" | Get-WUHistory| Where-Object {$_.Title -match "KB4011634"} | Select-Object *|ft

ตรวจสอบว่าจำเป็นต้องรีสตาร์ทคอมพิวเตอร์หลังจากติดตั้งการอัปเดตหรือไม่ (รอการรีบูต):

Get-WURebootStatus –ComputerName WKS21TJS

จัดการ Windows Updates ด้วย PSWindowsUpdate PowerShell Module

ตรวจสอบค่าของ RebootRequired และ RebootScheduled คุณสมบัติ

คุณสามารถสร้างรายงานพร้อมวันที่ที่ติดตั้งการอัปเดตล่าสุดบนคอมพิวเตอร์ทุกเครื่องในโดเมนได้โดยใช้ Get-ADComputer cmdlet (จาก Active Directory สำหรับโมดูล PowerShell):

$Computers=Get-ADComputer -Filter {enabled -eq "true" -and OperatingSystem -Like '*Windows*' }
Foreach ($Computer in $Computers)
{
Get-WULastResults -ComputerName $Computer.Name|select ComputerName, LastSearchSuccessDate, LastInstallationSuccessDate
}

โดยการเปรียบเทียบ คุณสามารถค้นหาคอมพิวเตอร์ที่ไม่ได้ติดตั้งการอัปเดตนานกว่า 60 วัน และแสดงผลในตารางแบบโต้ตอบ Out-GridView:

$result=@()
Foreach ($Computer in $Computers) {
$result+= Get-WULastResults -ComputerName $Computer.Name
}
$result| Where-Object { $_.LastInstallationSuccessDate -lt ((Get-Date).AddDays(-60)) }| Out-GridView

การถอนการติดตั้ง Windows Update ด้วย PowerShell (Remove-WindowsUpdate)

คุณสามารถใช้ Remove-WindowsUpdate cmdlet เพื่อถอนการติดตั้งการอัปเดตอย่างถูกต้องด้วย PowerShell เพียงระบุหมายเลข KB เป็นอาร์กิวเมนต์ของพารามิเตอร์ KBArticleID หากต้องการชะลอการรีสตาร์ทคอมพิวเตอร์โดยอัตโนมัติ ให้เพิ่มตัวเลือก –NoRestart:

Remove-WindowsUpdate -KBArticleID KB4489873 -NoRestart

จะซ่อนการอัปเดต Windows ด้วย PowerShell ได้อย่างไร

คุณสามารถซ่อนการอัปเดตเฉพาะเพื่อไม่ให้บริการ Windows Update บนคอมพิวเตอร์ของคุณติดตั้งได้ (โดยส่วนใหญ่คุณต้องซ่อนการอัปเดตไดรเวอร์) ตัวอย่างเช่น หากต้องการซ่อนการอัปเดต KB4489873 และ KB4489243 ให้เรียกใช้คำสั่งเหล่านี้:
$HideList = "KB4489873", "KB4489243"
Get-WindowsUpdate -KBArticleID $HideList –Hide

จัดการ Windows Updates ด้วย PSWindowsUpdate PowerShell Module

ในครั้งต่อไปที่คุณสแกนหาการอัปเดตโดยใช้คำสั่ง Get-WUlist การอัปเดตที่ซ่อนอยู่จะไม่ปรากฏในรายการการอัปเดตที่พร้อมสำหรับการติดตั้ง

นี่คือวิธีแสดงรายการอัปเดตที่ซ่อนอยู่ในคอมพิวเตอร์เครื่องนี้:

Get-WindowsUpdate –IsHidden

สังเกตว่า H แอตทริบิวต์ (ซ่อนไว้) ปรากฏในคอลัมน์สถานะของการอัปเดตที่ซ่อนอยู่

จัดการ Windows Updates ด้วย PSWindowsUpdate PowerShell Module

หากต้องการเลิกซ่อนการอัปเดตบางรายการ ให้เรียกใช้คำสั่งนี้:

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

หรือ:

Show-WindowsUpdate -KBArticleID $HideList

สำหรับผู้ที่รู้สึกอึดอัดในคอนโซล PowerShell ฉันขอแนะนำกราฟิก Windows Update MiniTool เพื่อจัดการการอัปเดตใน Windows 10/11 และ Windows Server 2022/2019