Como atualizar todos os drivers do Windows?

Como atualizar todos os drivers do Windows?

Existe alguma maneira de forçar o Windows a verificar novamentetodosdispositivos em relação aos drivers em seu banco de dados (HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\DevicePath) e atualizar para os drivers mais recentes disponíveis? Algo semelhante ao que o sysprep faz quando uma imagem HD clonada é iniciada pela primeira vez.

Por exemplo: Quando você instala o Windows em uma placa-mãe, alguns dispositivos são reconhecidos e instalados automaticamente com drivers do CD do Windows. Alguns outros não são reconhecidos, portanto, não instalados. Normalmente, você usa o CD MB para atualizar todos os drivers. Existem duas maneiras de fazer isso:

  1. Arquivo .exe: Basta executá-lo e (normalmente) ele atualiza todos os drivers (reconhecidos ou não).

  2. Arquivo .inf: SE o dispositivo não for reconhecido, o assistente de instalação do driver encontrará o driver no CDautomaticamente, caso contrário você terá que atualizar manualmente (Gerenciador de Dispositivos -> propriedades do dispositivo -> ... -> Atualizar driver)SEvocê sabe quais dispositivos possuem drivers atualizados no CD MB. Você pode verificar os arquivos .inf no CD para descobrir quais são suportados, mas é um processo doloroso.

Normalmente modifico a chave de registro DevicePath e uso pacotes de driver quando crio uma imagem de PC para clonar mais tarde (trabalho para um departamento de TI), e o sysprep cuida do resto. Mas quando você deseja instalar um PC diferente da imagem HD salva (portanto, você não usa o sysprep) este processo não se aplica.

O que eu quero fazer é:

  1. Após a instalação do Windows, descompacte os pacotes de drivers em uma pasta.

  2. Modificar DevicePath

  3. Force o Windows a atualizar para os drivers mais recentes (_already_recognized_devices_ são a coisa mais importante aqui, não há problema nos não reconhecidos).

É o terceiro passo que não sei fazer.

Responder1

Tente usarDevCon, um utilitário da Microsoft.

O utilitário DevCon é um utilitário de linha de comando que atua como uma alternativa ao Gerenciador de Dispositivos. Usando o DevCon, você pode ativar, desativar, reiniciar, atualizar, remover e consultar dispositivos individuais ou grupos de dispositivos.

Contanto que você descompacte seus drivers em um caminho de pesquisa padrão, poderá solicitar uma nova verificação para capturar todos os dispositivos não instalados inicialmente.

Responder2

Você pode usar DPInst.exe.

Aqui está um guia:http://blogs.technet.com/b/svengruenitz/...

Este é o arquivo DPInst.xml que uso para atualizar silenciosamente todos os drivers.

<?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>

Você também pode executar DPInst.exe no prompt de comando com o sinalizador /C para ver o que está fazendo.

A documentação do DPInstall está aqui:https://msdn.microsoft.com/...

Responder3

O artigoScript para instalar ou atualizar drivers diretamentedo Catálogo da Microsoft contém um script do PowerShell para fazer isso para todos os drivers.

O artigo inclui boas explicações de cada parte do roteiro. Reproduzo abaixo apenas o script simples com apenas pequenas alterações (que não testei):

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

Responder4

Existem alguns programas (não gratuitos) que afirmam fazer isso por você. Os 2 que consigo pensar de cara são:

Robô Motorista

Detetive motorista

Eu não usei nenhum deles, então não posso garantir o quão bons eles são.

informação relacionada