Comment mettre à jour automatiquement tous les appareils dans le gestionnaire d'appareils


18

Dans le gestionnaire de périphériques Windows, il est possible de démarrer "manuellement" une mise à jour automatique d'un périphérique. Mais c'est très fastidieux, chaque appareil doit être cliqué (car on ne sait pas si cet appareil particulier dispose d'une mise à jour disponible) - alors les popups doivent être cliqués - et il faut attendre la fin de la recherche en ligne.

J'espérais donc qu'un script Powershell pourrait faire cela, ou peut-être une entrée de registre pour que "Windows Update" s'en occupe.

(Ehm oui, Windows ne met PAS automatiquement à jour TOUS les appareils dans le gestionnaire d'appareils).


Voulez-vous des mises à jour de pilotes en général ou avez-vous un modèle matériel spécifique en tête?
— Persistent13

1
Avez-vous essayé la chose devcon sur l'invite de commande?
— antzshrek

@ Persistent13 mises à jour en général, rien de spécifique
— user5542121

1
@Antz devcon semble parfait, au moins la documentation dit qu'il peut être mis à jour. docs.microsoft.com/en-us/windows-hardware/drivers/devtest/… Doit essayer, merci!
— user5542121

@Antz J'ai essayé devcon , car il semble qu'il ne fasse pas de recherche en ligne pour les pilotes. Il ne peut installer qu'un fichier inf donné .
— user5542121

Réponses:


13

L'article Script pour installer ou mettre à jour les pilotes directement à partir du catalogue Microsoft contient un script PowerShell pour faire ce qui est demandé.

L'article comprend de bonnes explications sur chaque partie du script. Je reproduis ci-dessous juste le script nu avec seulement des changements mineurs (que je n'ai pas testés):

#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 est un package polyvalent et puissant .

Voici quelques tutoriels sur son installation et son utilisation:

Le package ajoute la Get-WUInstallcommande (et d'autres) avec laquelle vous pouvez obtenir et installer des mises à jour. La source de Get-WUInstallest également disponible séparément de github .

Un autre exemple sur son utilisation se trouve dans l'article PS Script pour automatiser Windows et MS Updates .


1
Magnifique! J'ai étendu un peu le script, comme titre #set Window Title $host.ui.RawUI.WindowTitle = "Driver Updater by harrymc"et pour empêcher la fermeture du PowerShell Write-Host Write-Host('Press any key to exit ...') -Fore Yellow $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")et pour exécuter le script à partir d'un lot: @echo off powershell.exe -noprofile -ExecutionPolicy Unrestricted -command "&{start-process powershell -ArgumentList ' -ExecutionPolicy Unrestricted -noprofile -file ""%~dp0update.ps1""' -verb RunAs} tandis que le script ps est nommé update.ps1 et se trouve dans le même répertoire.
— user5542121

Ah désolé, seulement réalisé maintenant que je dois appuyer sur le bouton pour donner la prime, pensant qu'accepter la réponse est suffisant.
— user5542121

Merci. Accepter la réponse est suffisant, mais la prime n'est accordée qu'à la fin de la période de publication de 7 jours.
— harrymc

1
Cela n'a pas fonctionné pour moi ( Exception from HRESULT: 0x80240024)
— JinSnow

@JinSnow: Il serait préférable de poster une question séparée avec des détails sur ce que vous avez fait.
— harrymc

2

Il existe une application Windows Update MiniTool qui peut obtenir ces pilotes, mais elle est capable de beaucoup plus - en ce qui concerne les mises à jour Windows.

(Personnellement, je préfère toujours le script de harrymc, c'est indolore - il suffit de le démarrer et de le faire)


Cité du Forum anglais:

Capture d'écran de l'application

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

Je l'utilise toujours sur W10, il arrête les mises à jour automatiques, ce qui est la meilleure fonctionnalité.
— Moab

1

Un autre outil à mettre à jour, très similaire à "Windows Update MiniTool":

https://github.com/DavidXanatos/wumgr

Lien de téléchargement: https://github.com/DavidXanatos/wumgr/releases/latest

Capture d'écran de l'outil lié


On dirait une arnaque de logiciel que j'ai trouvée il y a plusieurs années (2015), le développement s'est arrêté et ne peut plus être trouvé, il était Russe, sa dernière version était wumt_v30.07.2016 >>>>>>>>>>>>> >> wilderssecurity.com/threads/windows-update-minitool.380535
— Moab

1
Cela me semble être une fourchette, pas une déchirure. J'ai trouvé d'abord celui que vous avez lié, et ajoutez comme réponse, plus tard j'ai trouvé celui-ci .. et semble plus à jour.
— user5542121

Mon ancienne version de 2015 semble très bien fonctionner, mais merci pour le lien vers la fourche.
— Moab
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.