Aygıt yöneticisindeki tüm aygıtları otomatik olarak güncelleme


18

Windows aygıt yöneticisinde bir aygıtın otomatik güncellemesini "manuel olarak" başlatmak mümkündür. Ancak çok sıkıcı, her cihazın tıklanması gerekiyor (belirli bir cihazın mevcut olup olmadığı bilinmemektedir) - o zaman pop-up'ların tıklanması gerekir - ve çevrimiçi aramanın bitmesini beklemek zorundadır.

Bu yüzden, bunu yapabilmek için bazı Powershell betiği ya da belki bir kayıt defteri girdisinin "Windows Update" ile ilgilenmesini umuyordum.

(Ehm evet, Windows aygıt yöneticisindeki TÜM aygıtları otomatik olarak güncellemez).


Genel olarak sürücü güncellemeleri mi istiyorsunuz yoksa belirli bir donanım modeliniz mi var?
Persistent13

1
Komut isteminde devcon özelliğini denediniz mi?
antzshrek

@ Persistent13 güncellemeleri genel olarak, spesifik bir şey yok
user5542121

1
@Antz devcon mükemmel görünüyor, en azından belgeler güncellenebileceğini söylüyor. docs.microsoft.com/tr-tr/windows-hardware/drivers/devtest/… Denemeniz gerekecek, thx!
user5542121

@Antz Sürücüler için çevrimiçi bir arama yapmıyor gibi devcon denedim . Yalnızca belirli bir inf dosyasını yükleyebilir .
user5542121

Yanıtlar:


13

Sürücüleri doğrudan Microsoft Catalog'dan yüklemek veya güncellemek için kullanılan komut dosyası makalesinde, istenenleri yapmak için bir PowerShell betiği bulunmaktadır.

Makale, senaryonun her bir parçası için iyi açıklamalar içermektedir. Ben sadece küçük komut dosyası ile (sadece test etmedim) sadece çıplak komut dosyası çoğaltmak:

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

Genel amaçlı ve güçlü bir paket PSWindowsUpdate'dir .

İşte yükleme ve kullanma hakkında birkaç öğretici:

Paket, Get-WUInstallgüncelleştirmeleri alabileceğiniz ve yükleyebileceğiniz komutu (ve diğerlerini) ekler . Kaynağı github'danGet-WUInstall ayrı olarak da temin edilebilir .

Kullanımıyla ilgili başka bir örnek, Windows ve MS Güncellemelerini otomatikleştirmek için PS Script makalesinde bulunmaktadır .


1
Güzel! Komut dosyasını başlık olarak biraz genişlettim ve #set Window Title $host.ui.RawUI.WindowTitle = "Driver Updater by harrymc"powershell'in kapanmasını önlemek Write-Host Write-Host('Press any key to exit ...') -Fore Yellow $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")ve komut dosyasını bir toplu @echo off powershell.exe -noprofile -ExecutionPolicy Unrestricted -command "&{start-process powershell -ArgumentList ' -ExecutionPolicy Unrestricted -noprofile -file ""%~dp0update.ps1""' -verb RunAs} işten çalıştırmak için: ps komut dosyası update.ps1 olarak adlandırılır ve aynı dir.
user5542121

Ah üzgünüm, sadece şimdi ödül vermek için düğmeye basmam gerektiğini fark ettim, cevabı kabul etmenin yeterli olduğunu düşündüm.
user5542121

Teşekkürler. Cevabı kabul etmek yeterlidir, ancak ödül sadece 7 günlük gönderme süresinin sonunda verilir.
harrymc

1
Benim için işe yaramadı ( Exception from HRESULT: 0x80240024)
JinSnow

@JinSnow: Yaptıklarınızla ilgili ayrıntıları içeren ayrı bir soru göndermek daha iyi olurdu.
harrymc

2

Windows güncellemeleri ile ilgili olarak bu sürücüleri alabilen, ancak daha fazlasını yapabilen bir Uygulama Windows Güncellemesi MiniTool var.

(Şahsen ben hala senaryoyu harrymc'den tercih ediyorum, ağrısız - sadece başla ve bitir)


İngilizce Forumdan alıntı:

Uygulamadan ekran görüntüsü

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

Bunu hala W10'da kullanıyorum, en iyi özellik olan otomatik güncellemeleri durduruyor.
Moab

1

"Windows Update MiniTool" uygulamasına çok benzeyen başka bir güncelleştirme aracı:

https://github.com/DavidXanatos/wumgr

İndirme linki: https://github.com/DavidXanatos/wumgr/releases/latest

Bağlantılı araçtan ekran görüntüsü


Birkaç yıl önce bulduğum bir yazılım ripine benziyor (2015), geliştirme durdu ve artık bulunamıyor, Rustu, son sürümü wumt_v30.07.2016 >>>>>>>>>>>> >> wilderssecurity.com/threads/windows-update-minitool.380535
Moab

1
Bana bir çatal gibi görünüyor, bir rip değil. Önce u bağlantılı birini buldum ve cevap olarak ekledim, daha sonra bunu buldum .. ve daha güncel görünüyor.
user5542121

2015'teki eski sürümüm gayet iyi çalışıyor gibi görünüyor, ancak çatal bağlantısı için teşekkürler.
Moab
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.