Cara memperbarui semua perangkat secara otomatis di pengelola perangkat


18

Pada Windows device manager, dimungkinkan untuk "secara manual" memulai pembaruan otomatis perangkat. Tetapi sangat membosankan, setiap perangkat harus diklik (karena tidak diketahui apakah perangkat tertentu itu memiliki pembaruan) - maka popup harus diklik - dan seseorang harus menunggu pencarian online selesai.

Jadi saya berharap ada beberapa skrip Powershell yang bisa melakukan ini, atau mungkin entri registri untuk memiliki "Pembaruan Windows" yang mengurusnya.

(Ehm ya, Windows TIDAK secara otomatis memperbarui SEMUA perangkat di pengelola perangkat).


Apakah Anda ingin pembaruan driver secara umum atau apakah Anda memiliki model perangkat keras tertentu?
Persistent13

1
Sudahkah Anda mencoba devcon di command prompt?
antzshrek

@ Pembaruan Persistent13 secara umum, tidak ada yang spesifik
user5542121

1
@Antz devcon tampaknya sempurna, setidaknya dokumentasi mengatakan itu dapat diperbarui. docs.microsoft.com/en-us/windows-hardware/drivers/devtest/… Harus mencoba, thx!
user5542121

@ Otz Saya mencoba devcon , karena sepertinya tidak melakukan pencarian online untuk driver. Itu hanya dapat menginstal file inf yang diberikan .
user5542121

Jawaban:


13

Script artikel untuk menginstal atau memperbarui driver langsung dari Katalog Microsoft berisi skrip PowerShell untuk melakukan apa yang diminta.

Artikel ini mencakup penjelasan yang baik dari setiap bagian naskah. Saya mereproduksi di bawah ini hanya skrip kosong dengan hanya perubahan kecil (yang belum saya uji):

#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 }

Paket tujuan umum dan kuat adalah PSWindowsUpdate .

Berikut adalah beberapa tutorial tentang cara menginstal dan menggunakannya:

Paket menambahkan Get-WUInstallperintah (dan lain-lain) yang dengannya Anda dapat memperoleh dan menginstal pembaruan. Sumber Get-WUInstalljuga tersedia secara terpisah dari github .

Contoh lain tentang penggunaannya ditemukan dalam artikel PS Script untuk mengotomatiskan Pembaruan Windows dan MS .


1
Cantik! Saya sedikit memperluas skrip, sebagai judul #set Window Title $host.ui.RawUI.WindowTitle = "Driver Updater by harrymc"dan untuk mencegah PowerShell menutup Write-Host Write-Host('Press any key to exit ...') -Fore Yellow $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")dan menjalankan skrip dari aa batch: @echo off powershell.exe -noprofile -ExecutionPolicy Unrestricted -command "&{start-process powershell -ArgumentList ' -ExecutionPolicy Unrestricted -noprofile -file ""%~dp0update.ps1""' -verb RunAs} sedangkan skrip ps bernama update.ps1 dan dalam dir yang sama.
user5542121

Ah maaf, baru sadar sekarang saya harus menekan tombol untuk memberikan hadiah, berpikir menerima jawabannya sudah cukup.
user5542121

Terima kasih. Menerima jawaban sudah cukup, tetapi bounty hanya diberikan pada akhir periode posting 7 hari.
harrymc

1
Itu tidak berhasil untuk saya ( Exception from HRESULT: 0x80240024)
JinSnow

@JinSnow: Lebih baik mengirim pertanyaan terpisah dengan detail tentang apa yang Anda lakukan.
harrymc

2

Ada Aplikasi Windows Update MiniTool yang bisa mendapatkan driver tersebut, namun mampu melakukan lebih banyak lagi - mengenai pembaruan windows.

(Saya pribadi masih lebih suka skrip dari harrymc, tanpa rasa sakit - mulai saja dan selesai)


Dikutip dari Forum Bahasa Inggris:

Tangkapan layar dari aplikasi

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

Saya masih menggunakan ini pada W10, menghentikan pembaruan otomatis yang merupakan fitur terbaik.
Moab

1

Alat lain untuk memperbarui, sangat mirip dengan "Windows Update MiniTool":

https://github.com/DavidXanatos/wumgr

Tautan unduhan: https://github.com/DavidXanatos/wumgr/releases/latest

Cuplikan layar dari alat tertaut


Sepertinya perangkat lunak yang saya temukan beberapa tahun yang lalu (2015), pengembangan telah berhenti dan tidak dapat ditemukan lagi, ia adalah orang Rusia, versi terakhirnya adalah wumt_v30.07.2016 >>>>>>>>>>>>> >> wilderssecurity.com/threads/windows-update-minitool.380535
Moab

1
Sepertinya saya seperti garpu, bukan rip. Saya menemukan pertama yang ditautkan, dan menambahkan sebagai jawaban, kemudian saya menemukan yang ini .. dan tampaknya lebih uptodate.
user5542121

Versi lama saya dari 2015 tampaknya berfungsi dengan baik, tetapi terima kasih atas tautannya ke garpu.
Moab
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.