วิธีอัปเดตอุปกรณ์ทั้งหมดในตัวจัดการอุปกรณ์โดยอัตโนมัติ


18

ในตัวจัดการอุปกรณ์ Windows เป็นไปได้ที่ "ด้วยตนเอง" เริ่มการอัพเดตอัตโนมัติของอุปกรณ์ แต่มันน่าเบื่อมากที่จะต้องคลิกแต่ละอุปกรณ์ (เนื่องจากไม่ทราบว่าอุปกรณ์นั้นมีการอัปเดตที่พร้อมใช้งาน) - จากนั้นป๊อปอัปจะต้องคลิก - และต้องรอให้การค้นหาออนไลน์เสร็จสิ้น

ดังนั้นฉันหวังว่าจะมีสคริปต์ Powershell บางตัวที่สามารถทำสิ่งนี้ได้หรืออาจเป็นรายการรีจิสตรีเพื่อให้มี "Windows Update"

(ใช่แล้ว Windows จะไม่อัปเดตอุปกรณ์ทั้งหมดในตัวจัดการอุปกรณ์โดยอัตโนมัติ)


คุณต้องการอัปเดตไดรเวอร์โดยทั่วไปหรือคุณมีรูปแบบฮาร์ดแวร์เฉพาะในใจ
ถาวร

1
คุณลองใช้สิ่งdevconบนพรอมต์คำสั่งหรือไม่
antzshrek

@ การอัพเดทแบบต่อเนื่องโดยทั่วไป 13 ไม่มีอะไรเฉพาะเจาะจง
user5542121

1
@ Antz devconดูเหมือนว่าสมบูรณ์แบบอย่างน้อยเอกสารบอกว่ามันสามารถอัปเดต docs.microsoft.com/en-us/windows-hardware/drivers/devtest/…จะต้องลองขอบคุณ!
user5542121

@ Antz ฉันพยายามdevconเพราะดูเหมือนว่าจะไม่ทำการค้นหาออนไลน์สำหรับไดรเวอร์ มันสามารถติดตั้งไฟล์inf ที่กำหนดได้เท่านั้น
user5542121

คำตอบ:


13

บทความ สคริปต์เพื่อติดตั้งหรืออัปเดตไดรเวอร์โดยตรงจาก Microsoft Catalog มีสคริปต์ PowerShell สำหรับทำสิ่งที่ถูกถาม

บทความประกอบด้วยคำอธิบายที่ดีของแต่ละส่วนของสคริปต์ ฉันทำซ้ำด้านล่างเพียงสคริปต์เปลือยที่มีการเปลี่ยนแปลงเล็กน้อยเท่านั้น (ซึ่งฉันไม่ได้ทดสอบ):

#search and list all missing Drivers

$Session = New-Object -ComObject Microsoft.Update.Session           
$Searcher = $Session.CreateUpdateSearcher() 

$Searcher.ServiceID = '7971f918-a847-4430-9279-4a52d1efe18d'
$Searcher.SearchScope =  1 # MachineOnly
$Searcher.ServerSelection = 3 # Third Party

$Criteria = "IsInstalled=0 and Type='Driver' and ISHidden=0"
Write-Host('Searching Driver-Updates...') -Fore Green  
$SearchResult = $Searcher.Search($Criteria)          
$Updates = $SearchResult.Updates

#Show available Drivers

$Updates | select Title, DriverModel, DriverVerDate, Driverclass, DriverManufacturer | fl

#Download the Drivers from Microsoft

$UpdatesToDownload = New-Object -Com Microsoft.Update.UpdateColl
$updates | % { $UpdatesToDownload.Add($_) | out-null }
Write-Host('Downloading Drivers...')  -Fore Green  
$UpdateSession = New-Object -Com Microsoft.Update.Session
$Downloader = $UpdateSession.CreateUpdateDownloader()
$Downloader.Updates = $UpdatesToDownload
$Downloader.Download()

#Check if the Drivers are all downloaded and trigger the Installation

$UpdatesToInstall = New-Object -Com Microsoft.Update.UpdateColl
$updates | % { if($_.IsDownloaded) { $UpdatesToInstall.Add($_) | out-null } }

Write-Host('Installing Drivers...')  -Fore Green  
$Installer = $UpdateSession.CreateUpdateInstaller()
$Installer.Updates = $UpdatesToInstall
$InstallationResult = $Installer.Install()
if($InstallationResult.RebootRequired) {  
Write-Host('Reboot required! please reboot now..') -Fore Red  
} else { Write-Host('Done..') -Fore Green }

วัตถุประสงค์ทั่วไปและแพคเกจที่มีประสิทธิภาพเป็น PSWindowsUpdate

ต่อไปนี้เป็นบทเรียนเกี่ยวกับการติดตั้งและใช้งาน:

แพคเกจเพิ่มGet-WUInstallคำสั่ง (และอื่น ๆ ) ที่คุณอาจได้รับและติดตั้งการปรับปรุง แหล่งที่มาของGet-WUInstallยังมีอยู่แยกต่างหาก จาก GitHub

อีกตัวอย่างหนึ่งเกี่ยวกับการใช้งานอยู่ในบทความ PS Script เพื่อทำให้ Windows และ MS Updates เป็นอัตโนมัติ


1
สวย! ฉันขยายสคริปต์เล็กน้อยเป็นชื่อเรื่อง#set Window Title $host.ui.RawUI.WindowTitle = "Driver Updater by harrymc"และเพื่อป้องกันไม่ให้ PowerShell ปิด Write-Host Write-Host('Press any key to exit ...') -Fore Yellow $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")และเรียกใช้สคริปต์จากชุด AA: @echo off powershell.exe -noprofile -ExecutionPolicy Unrestricted -command "&{start-process powershell -ArgumentList ' -ExecutionPolicy Unrestricted -noprofile -file ""%~dp0update.ps1""' -verb RunAs} ในขณะที่สคริปต์ ps ชื่อ update.ps1 และอยู่ใน dir เดียวกัน
user5542121

ขอโทษที่เพิ่งรู้ตอนนี้ฉันต้องกดปุ่มเพื่อให้เงินรางวัลคิดว่าการยอมรับคำตอบก็เพียงพอแล้ว
user5542121

ขอบคุณ การยอมรับคำตอบนั้นก็เพียงพอแล้ว แต่รางวัลนั้นจะมอบให้เมื่อสิ้นสุดระยะเวลาการโพสต์ 7 วันเท่านั้น
harrymc

1
มันไม่ได้ผลสำหรับฉัน ( Exception from HRESULT: 0x80240024)
JinSnow

@JinSnow: จะเป็นการดีกว่าถ้าคุณโพสต์คำถามแยกต่างหากพร้อมรายละเอียดเกี่ยวกับสิ่งที่คุณทำ
harrymc

2

มีแอปพลิเคชันWindows Update MiniToolอยู่ซึ่งสามารถรับไดร์เวอร์เหล่านั้นได้ แต่มันมีความสามารถมากกว่า - เกี่ยวกับการอัพเดท windows

(โดยส่วนตัวแล้วฉันยังคงชอบสคริปต์จาก harrymc มันไม่เจ็บปวด - เพิ่งเริ่มและทำไปแล้ว)


อ้างจากฟอรั่มภาษาอังกฤษ:

ภาพหน้าจอจากแอปพลิเคชัน

An alternative to the standard Windows Update
What you can do:

 - Check for updates
 - Download updates
 - Installing Updates
 - Deleting installed updates
 - Hiding unwanted updates
 - Get direct links to the *.cab / *.Exe / *.Psf update files
 - View update history
 - Configure Automatic Updates

ฉันยังคงใช้สิ่งนี้ใน W10 มันหยุดอัปเดตอัตโนมัติซึ่งเป็นคุณสมบัติที่ดีที่สุด
Moab

1

เครื่องมืออื่นในการอัพเดตคล้ายกับ "Windows Update MiniTool":

https://github.com/DavidXanatos/wumgr

ลิงค์ดาวน์โหลด: https://github.com/DavidXanatos/wumgr/releases/latest

ภาพหน้าจอจากเครื่องมือที่ลิงก์


ดูเหมือนว่าซอฟต์แวร์จะถูกทำลายเมื่อหลายปีก่อน (2015) การพัฒนาหยุดลงและไม่สามารถหาได้อีกต่อไปเขาเป็นชาวรัสเซียรุ่นล่าสุดของเขาคือ wumt_v30.07.2016 >>>>>>>>>>>>>>> >> wilderssecurity.com/threads/windows-update-minitool.380535
Moab

1
ดูเหมือนว่าฉันจะเป็นส้อมไม่ใช่ฉีกขาด ฉันพบสิ่งแรกที่คุณเชื่อมโยงและเพิ่มเป็นคำตอบหลังจากนั้นฉันก็พบสิ่งนี้ .. และดูเหมือนว่าจะทำให้ดีขึ้นมากขึ้น
user5542121

รุ่นเก่าของฉันจากปี 2015 ดูเหมือนจะใช้งานได้ดี แต่ขอบคุณสำหรับลิงก์ไปยังทางแยก
Moab
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.