Come aggiornare automaticamente tutti i dispositivi in ​​Gestione dispositivi


18

In Gestione dispositivi di Windows è possibile avviare "manualmente" un aggiornamento automatico di un dispositivo. Ma è molto noioso, è necessario fare clic su ciascun dispositivo (poiché non è noto se quel determinato dispositivo ha un aggiornamento disponibile) - quindi i popup devono essere cliccati - e si deve attendere il completamento della ricerca online.

Quindi speravo che ci fosse qualche script Powershell in grado di fare questo, o forse una voce del registro di sistema per far sì che "Windows Update" se ne occupasse.

(Ehm sì, Windows NON aggiorna automaticamente TUTTI i dispositivi in ​​Gestione dispositivi).


Desideri aggiornamenti dei driver in generale o hai in mente un modello hardware specifico?
Persistente13

1
Hai provato la cosa devcon sul prompt dei comandi?
antzshrek,

@ Aggiornamenti persistenti13 in generale, niente di specifico
user5542121

1
@Antz devcon sembra perfetto, almeno la documentazione dice che può essere aggiornata. docs.microsoft.com/en-us/windows-hardware/drivers/devtest/… Dovremo provare, grazie!
user5542121

@Antz Ho provato devcon , in quanto sembra che non esegua una ricerca online per i driver. Può installare solo un determinato file inf .
user5542121

Risposte:


13

L'articolo Script per installare o aggiornare i driver direttamente dal catalogo Microsoft contiene uno script di PowerShell per eseguire le operazioni richieste.

L'articolo include buone spiegazioni di ogni parte della sceneggiatura. Riporto di seguito solo lo script nudo con solo piccole modifiche (che non ho testato):

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

Un pacchetto generico e potente è PSWindowsUpdate .

Ecco un paio di tutorial su come installarlo e usarlo:

Il pacchetto aggiunge il Get-WUInstallcomando (e altri) con cui è possibile ottenere e installare gli aggiornamenti. La fonte di Get-WUInstallè disponibile anche separatamente da Github .

Un altro esempio del suo utilizzo si trova nell'articolo PS Script per automatizzare gli aggiornamenti di Windows e MS .


1
Bellissimo! Ho esteso un po 'lo script, come titolo #set Window Title $host.ui.RawUI.WindowTitle = "Driver Updater by harrymc"e per impedire la chiusura della PowerShell Write-Host Write-Host('Press any key to exit ...') -Fore Yellow $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")ed eseguire lo script da un batch: @echo off powershell.exe -noprofile -ExecutionPolicy Unrestricted -command "&{start-process powershell -ArgumentList ' -ExecutionPolicy Unrestricted -noprofile -file ""%~dp0update.ps1""' -verb RunAs} mentre lo script ps si chiama update.ps1 ed è nella stessa directory.
user5542121

Ah scusa, ho capito solo ora che devo premere il pulsante per dare la grazia, ho pensato che accettare la risposta fosse sufficiente.
user5542121

Grazie. Accettare la risposta è sufficiente, ma la taglia viene assegnata solo entro la fine del periodo di pubblicazione di 7 giorni.
harrymc,

1
Non ha funzionato per me ( Exception from HRESULT: 0x80240024)
JinSnow il

@JinSnow: sarebbe meglio pubblicare una domanda separata con i dettagli di ciò che hai fatto.
harrymc,

2

Esiste un'applicazione MiniTool di Windows Update che può ottenere quei driver, ma è capace di molto di più - per quanto riguarda gli aggiornamenti di Windows.

(Personalmente preferisco ancora la sceneggiatura di harrymc, è indolore: basta avviarla e il gioco è fatto)


Citato dal forum inglese:

Screenshot dall'applicazione

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

Lo uso ancora su W10, blocca gli aggiornamenti automatici che è la migliore funzionalità.
Moab,

1

Un altro strumento da aggiornare, molto simile a "Windows Update MiniTool":

https://github.com/DavidXanatos/wumgr

Link per il download: https://github.com/DavidXanatos/wumgr/releases/latest

Schermata dallo strumento collegato


Sembra una fregatura del software che ho trovato diversi anni fa (2015), lo sviluppo si è fermato e non può più essere trovato, era un russo, la sua ultima versione era wumt_v30.07.2016 >>>>>>>>>>>> >> wilderssecurity.com/threads/windows-update-minitool.380535
Moab

1
Mi sembra una forchetta, non uno strappo. Ho trovato prima quello che hai collegato e aggiungo come risposta, poi ho trovato questo .. e sembra più aggiornato.
user5542121,

La mia vecchia versione del 2015 sembra funzionare bene, ma grazie per il link al fork.
Moab,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.