Wie aktualisiere ich alle Windows-Treiber?

Wie aktualisiere ich alle Windows-Treiber?

Gibt es eine Möglichkeit, Windows zu einer erneuten Überprüfung zu zwingen?alleGeräte mit Treibern in seiner Datenbank (HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\DevicePath) vergleichen und auf die neuesten verfügbaren Treiber aktualisieren? Etwas Ähnliches wie das, was Sysprep macht, wenn ein geklontes HD-Image zum ersten Mal gestartet wird.

Beispiel: Wenn Sie Windows auf einem Motherboard installieren, werden einige Geräte automatisch erkannt und mit Treibern von der Windows-CD installiert. Andere werden nicht erkannt und daher nicht installiert. Normalerweise verwenden Sie die MB-CD, um alle Treiber zu aktualisieren. Dafür gibt es zwei Möglichkeiten:

  1. .exe-Datei: Führen Sie diese einfach aus und (normalerweise) werden alle Treiber aktualisiert (ob erkannt oder nicht).

  2. .inf-Datei: Wenn das Gerät nicht erkannt wird, findet der Treiberinstallationsassistent den Treiber auf der CDautomatisch, ansonsten muss das Update manuell durchgeführt werden (Gerätemanager -> Geräteeigenschaften -> ... -> Treiber aktualisieren)WENNSie wissen, für welche Geräte aktualisierte Treiber auf der MB-CD vorhanden sind. Sie können die INF-Dateien auf der CD überprüfen, um herauszufinden, welche unterstützt werden, aber das ist ein mühsamer Prozess.

Normalerweise ändere ich den DevicePath-Registrierungsschlüssel und verwende Treiberpakete, wenn ich ein PC-Image erstelle, um es später zu klonen (ich arbeite für eine IT-Abteilung), und Sysprep kümmert sich um den Rest. Wenn Sie jedoch einen PC anders als das gespeicherte HD-Image installieren möchten (und daher kein Sysprep verwenden), ist dieser Vorgang nicht anwendbar.

Ich möchte Folgendes tun:

  1. Nachdem Windows installiert ist, entpacken Sie die Treiberpakete in einen Ordner.

  2. DevicePath ändern

  3. Erzwingen Sie eine Aktualisierung von Windows auf die neueren Treiber (bereits erkannte Geräte sind hier das Wichtigste, nicht erkannte Geräte sind kein Problem).

Ich weiß nicht, wie ich den dritten Schritt ausführen soll.

Antwort1

Versuchen Sie es mitDevCon, ein Dienstprogramm von Microsoft.

Das Dienstprogramm DevCon ist ein Befehlszeilenprogramm, das als Alternative zum Geräte-Manager fungiert. Mit DevCon können Sie einzelne Geräte oder Gerätegruppen aktivieren, deaktivieren, neu starten, aktualisieren, entfernen und abfragen.

Solange Sie Ihre Treiber in einen Standardsuchpfad entpacken, können Sie einen erneuten Scan aufrufen, um alle Geräte zu erfassen, die ursprünglich nicht installiert wurden.

Antwort2

Sie können DPInst.exe verwenden.

Hier ist eine Anleitung:http://blogs.technet.com/b/svengruenitz/...

Dies ist die DPInst.xml-Datei, die ich zum stillen Aktualisieren aller Treiber verwende.

<?xml version="1.0" ?>

<dpinst>

    <!-- Suppress the addition of entries to Programs and Features in 
    Control Panel.-->
    <suppressAddRemovePrograms/>

    <!-- install a driver package for a Plug and Play (PnP) function driver 
    only if the driver package matches a device that is configured in a 
    computer and the driver package is a better match for the device than 
    the driver package that is currently installed on the device. -->
    <scanHardware/>

    <!-- Suppress the display of user interface items that DPInst and 
    Windows generate. -->
    <quietInstall/>

    <!-- The following search and subDirectory elements direct
        DPInst to search all subdirectories (under the DPInst working
        directory) to locate driver packages. -->
    <search>
        <subDirectory>*</subDirectory>
    </search>
</dpinst>

Sie können DPInst.exe auch in der Eingabeaufforderung mit dem Flag /C ausführen, um zu sehen, was es tut.

Die DPInstall-Dokumentation finden Sie hier:https://msdn.microsoft.com/...

Antwort3

Der ArtikelSkript zum direkten Installieren oder Aktualisieren von Treibernaus dem Microsoft-Katalog enthält ein PowerShell-Skript, um dies für alle Treiber durchzuführen.

Der Artikel enthält gute Erklärungen zu jedem Teil des Skripts. Ich gebe unten nur das reine Skript mit nur geringfügigen Änderungen wieder (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 }

Antwort4

Es gibt einige (kostenpflichtige) Programme, die das angeblich für Sie erledigen. Die zwei, die mir spontan einfallen, sind:

Fahrerroboter

Fahrerdetektiv

Ich habe keines von beiden verwendet und kann daher nicht für ihre Qualität bürgen.

verwandte Informationen