장치 관리자에서 모든 장치를 자동으로 업데이트하는 방법


18

Windows 장치 관리자에서 장치의 자동 업데이트를 "수동으로"시작할 수 있습니다. 그러나 매우 지루하고 각 장치를 클릭해야합니다 (특정 장치에 사용 가능한 업데이트가 있는지 알 수 없으므로)-팝업을 클릭해야하며 온라인 검색이 완료되기를 기다려야합니다.

그래서이 작업을 수행 할 수있는 Powershell 스크립트가 있거나 "Windows Update"가이를 처리하는 레지스트리 항목이 있기를 바랍니다.

(예, Windows는 장치 관리자의 모든 장치를 자동으로 업데이트하지 않습니다).


일반적인 드라이버 업데이트를 원하십니까? 아니면 특정 하드웨어 모델을 염두에두고 있습니까?
— 퍼시 스턴트 13

1
명령 프롬프트 에서 devcon 을 사용해 보셨습니까 ?
— antzshrek

@ Persistent13 일반적으로 업데이트, 특정 사항 없음
— user5542121

1
@Antz devcon 은 완벽 해 보였지만 적어도 문서는 업데이트 할 수 있다고 말합니다. docs.microsoft.com/en-us/windows-hardware/drivers/devtest/… thx를 시도해야합니다!
— user5542121

@Antz 드라이버를 온라인으로 검색하지 않는 것처럼 devcon을 시도 했습니다. 주어진 inf 파일 만 설치할 수 있습니다 .
— user5542121

답변:


13

Microsoft 카탈로그에서 직접 드라이버를 설치하거나 업데이트하는 스크립트 문서 에는 요청을 수행하는 데 필요한 PowerShell 스크립트가 포함되어 있습니다.

이 기사에는 스크립트의 각 부분에 대한 좋은 설명이 포함되어 있습니다. 나는 약간의 변경 사항 (테스트하지 않은)으로 베어 스크립트 만 재생합니다.

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

범용적이고 강력한 패키지는 PSWindowsUpdate 입니다.

다음은 설치 및 사용에 대한 몇 가지 자습서입니다.

패키지는 Get-WUInstall업데이트를 받고 설치할 수 있는 명령 (및 기타)을 추가 합니다. 의 소스는 githubGet-WUInstall 과 별도로 제공됩니다 .

사용에 대한 다른 예는 Windows 및 MS 업데이트 자동화를위한 PS 스크립트 기사에 있습니다.


1
아름다운! ps 스크립트의 이름이 update.ps1이고 동일한 디렉토리에있는 동안 제목으로 스크립트를 약간 확장하여 #set Window Title $host.ui.RawUI.WindowTitle = "Driver Updater by harrymc"powershell이 ​​닫히고 Write-Host Write-Host('Press any key to exit ...') -Fore Yellow $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")스크립트를 실행 하지 못하게했습니다 @echo off powershell.exe -noprofile -ExecutionPolicy Unrestricted -command "&{start-process powershell -ArgumentList ' -ExecutionPolicy Unrestricted -noprofile -file ""%~dp0update.ps1""' -verb RunAs} .
— user5542121

아 죄송합니다, 이제는 현상금을 지급하기 위해 버튼을 눌러야한다는 것을 깨달았습니다.
— user5542121

감사. 답변을 수락하는 것으로 충분하지만 현상금은 7 일의 게시 기간 말까지만 수여됩니다.
— harrymc

1
그것은 나를 위해 작동하지 않았다 ( Exception from HRESULT: 0x80240024)
— JinSnow

@ JinSnow : 당신이 한 일에 대한 세부 사항이있는 별도의 질문을 게시하는 것이 좋습니다.
— harrymc

2

응용 프로그램 Windows Update MiniTool 이 존재하여 해당 드라이버를 얻을 수 있지만 Windows 업데이트와 관련하여 훨씬 더 많은 기능을 수행 할 수 있습니다.

(나는 개인적으로 여전히 harrymc의 스크립트를 선호합니다. 고통스럽지 않습니다. 그냥 시작하고 완료하십시오)


영어 포럼에서 인용 :

응용 프로그램의 스크린 샷

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

나는 여전히 W10에서 이것을 사용하며, 가장 좋은 기능인 자동 업데이트를 중지합니다.
— Moab

1

"Windows Update MiniTool"과 매우 유사한 업데이트 도구 :

https://github.com/DavidXanatos/wumgr

다운로드 링크 : https://github.com/DavidXanatos/wumgr/releases/latest

연결된 도구의 스크린 샷


몇 년 전에 (2015) 내가 찾은 소프트웨어에서 나온 것처럼 보였고 개발이 중단되어 더 이상 찾을 수 없었습니다. 그는 러시아어였으며 그의 마지막 버전은 wumt_v30.07.2016 >>>>>>>>>>>> >> wilderssecurity.com/threads/windows-update-minitool.380535
— Moab

1
립이 아닌 포크처럼 보입니다. 나는 먼저 하나의 링크를 발견하고 답으로 추가했다. 나중에 나는 이것을 발견했다.
— user5542121

2015 년 이전 버전은 제대로 작동하는 것처럼 보이지만 포크 링크에 감사드립니다.
— Moab
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.