デバイスマネージャーですべてのデバイスを自動的に更新する方法


18

Windowsデバイスマネージャーでは、デバイスの自動更新を「手動で」開始することができます。しかし、非常に退屈です。各デバイスをクリックする必要があります(特定のデバイスに利用可能な更新があるかどうかは不明です)。次に、ポップアップをクリックする必要があり、オンライン検索が完了するまで待つ必要があります。

そのため、これを実行できるPowershellスクリプト、または「Windows Update」がそれを処理するレジストリエントリがあればいいのですが。

(ええ、Windowsはデバイスマネージャーのすべてのデバイスを自動的に更新しません)。


一般的なドライバーの更新が必要ですか、それとも特定のハードウェアモデルを念頭に置いていますか?
永続的

1
コマンドプロンプトでdevconを試しましたか?
-antzshrek

@ Persistent13アップデート一般的な、何も具体的で
user5542121

1
@Antz devconは完璧だと思われます。少なくともドキュメントには更新できると書かれています。docs.microsoft.com/en-us/windows-hardware/drivers/devtest/…試してみてください、thx!
user5542121

@Antz私はdevconを試しましたが、それはドライバーのオンライン検索を行わないようです。指定されたinfファイルのみをインストールできます。
user5542121

回答:


12

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
綺麗な!タイトルとして#set Window Title $host.ui.RawUI.WindowTitle = "Driver Updater by harrymc"、またシェルが閉じられないように スクリプトを少し拡張し、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} ました。psスクリプトはupdate.ps1という名前で、同じディレクトリにあります。
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で使用していますが、自動更新を停止しますが、これは最良の機能です。
モアブ

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
モアブ

1
裂け目ではなく、フォークのように思えます。私は最初にリンクされたものを見つけ、答えとして追加し、後でこのものを見つけました..より最新のようです。
user5542121

2015年の私の古いバージョンはうまく機能しているようですが、フォークへのリンクに感謝します。
モアブ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.