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


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.