<p>L’article<br>
<a href="http://rzander.azurewebsites.net/script-to-install-or-update-drivers-directly-from-microsoft-catalog/">Script pour installer ou mettre à jour les pilotes directement depuis le catalogue Microsoft</a><br>
contient un script PowerShell pour faire ce qui est demandé.</p>
<p>L’article inclut de bonnes explications de chaque partie du script.<br>
Je reproduis ci-dessous juste le script brut avec seulement des modifications mineures (que je n’ai pas testées) :</p>
<pre><code class="lang-auto">#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 }
</code></pre>
<p>Un package à usage général et puissant est<br>
<a href="https://gallery.technet.microsoft.com/scriptcenter/2d191bcd-3308-4edd-9de2-88dff796b0bc"><strong>PSWindowsUpdate</strong></a>.</p>
<p>Voici quelques tutoriels sur son installation et son utilisation :</p>
<ul>
<li>
<p><a href="https://www.tenforums.com/tutorials/76207-update-upgrade-windows-10-using-powershell.html">Windows 10 : Mettre à jour et mettre à niveau Windows 10 en utilisant PowerShell</a>.</p>
</li>
<li>
<p><a href="https://www.petri.com/manage-windows-updates-with-powershell-module">Gérer les mises à jour Windows avec PowerShell</a></p>
</li>
</ul>
<p>Le package ajoute la commande <code>Get-WUInstall</code> (et d’autres) avec laquelle vous pouvez<br>
obtenir et installer des mises à jour.<br>
Le code source de <code>Get-WUInstall</code> est aussi disponible séparément<br>
<a href="https://github.com/joeypiccola/PSWindowsUpdate/blob/master/Get-WUList.ps1">depuis github</a>.</p>
<p>Un autre exemple de son utilisation se trouve dans l’article<br>
<a href="https://community.spiceworks.com/topic/2001180-ps-script-to-automate-windows-and-ms-updates">Script PS pour automatiser les mises à jour Windows et MS</a>.</p>