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 스크립트 기사에
있습니다.