it-swarm.com.de

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

Im Windows Geräte-Manager ist es möglich, ein automatisches Update eines Gerätes "manuell" zu starten. Aber es ist sehr mühsam, jedes Gerät muss angeklickt werden (da nicht bekannt ist, ob für dieses bestimmte 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 das 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).

16
user5542121

Das Artikel-Skript zum Installieren oder Aktualisieren von Treibern direkt aus dem Microsoft-Katalog enthält ein PowerShell-Skript, mit dem Sie die erforderlichen Schritte ausführen können.

Der Artikel enthält gute Erklärungen zu jedem Teil des Skripts. Ich reproduziere 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 leistungsstarkes Paket ist PSWindowsUpdate .

Hier einige Tutorials zur Installation und Verwendung:

Das Paket fügt den Befehl Get-WUInstall (und andere) hinzu, mit dem Sie Updates erhalten und installieren können. Die Quelle von Get-WUInstall ist auch separat von github verfügbar.

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

10
harrymc

Obwohl es nicht vollautomatisch ist, kann der Open Source Snappy Driver Installer verwendet werden, um Treiber hardwareunabhängig mit ein paar Klicks zu aktualisieren.

1
Persistent13

Es gibt eine Anwendung Windows Update MiniTool , mit der diese Treiber abgerufen werden können, die jedoch wesentlich mehr kann - in Bezug auf Windows-Updates.

(Ich persönlich bevorzuge immer noch das Drehbuch von Harrymc, es ist schmerzlos - einfach starten und fertig)


Zitiert aus dem englischen Forum:

Screenshot from the 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
1
user5542121