So aktualisieren Sie automatisch alle Geräte im Geräte-Manager

Im Windows-Geräte-Manager ist es möglich, ein automatisches Update eines Geräts "manuell" zu starten. Aber es ist sehr mühsam, jedes Gerät muss angeklickt werden (da nicht bekannt ist, ob auf diesem bestimmten Gerät ein Update verfügbar ist) - dann müssen die Popups angeklickt werden - und man muss warten, bis die Online-Suche abgeschlossen ist.

Also hoffte ich, dass es ein Powershell-Skript gibt, das dies tun kann, oder vielleicht einen Registrierungseintrag, damit "Windows Update" sich darum kümmert.

(Ehm ja, Windows aktualisiert NICHT automatisch ALLE Geräte im Geräte-Manager).

Author: user5542121, 2017-08-21

3 answers

Die Artikel Skript zum Installieren oder Aktualisieren von Treibern direkt aus dem Microsoft-Katalog enthält ein PowerShell-Skript, um das zu tun, was gefragt wird.

Der Artikel enthält gute Erklärungen zu jedem Teil des Skripts. Ich reproduziere unten nur das nackte Skript mit nur geringfügigen Änderungen (die ich nicht getestet habe):

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

Ein universelles und leistungsfähiges Paket ist PSWindowsUpdate.

Hier sind ein paar Tutorials zur Installation und Verwendung :

Das Paket fügt den Befehl Get-WUInstall (und andere) hinzu, mit dem Sie holen und installieren Sie Updates. Die Quelle von Get-WUInstall ist auch separat erhältlich von github.

Ein weiteres Beispiel für seine Verwendung findet sich im Artikel PS-Skript zur Automatisierung von Windows-und MS-Updates.

 18
Author: harrymc,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2017-08-25 09:50:51

Eine Anwendung Windows Update MiniTool existiert, die diese Treiber erhalten kann, aber es ist in der Lage viel mehr-in Bezug auf Windows-Updates.

(ich persönlich immer noch lieber das Skript von harrymc, seine schmerzfrei - starten Sie es einfach und fertig)


Zitiert aus dem englischen Forum:

Screenshot aus der Anwendung

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
 3
Author: user5542121,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2017-08-31 10:24:38

Ein weiteres zu aktualisierendes Tool, das "Windows Update MiniTool" sehr ähnlich ist:

Https://github.com/DavidXanatos/wumgr

Download link: https://github.com/DavidXanatos/wumgr/releases/latest

Screenshot aus dem verlinkten tool

 2
Author: user5542121,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2019-07-10 07:39:47