コマンドラインでWindows Updateを実行する方法:3つの効果的な方法
Windowsを最新の状態に保つのは、時に終わりのない探求のように感じることがあります。多くの人は設定画面をあれこれクリックするだけですが、スクリプト作成や、動作の重いPCのトラブルシューティングに興味があるなら、コマンドラインからアップデートを実行する方法を知っておくと便利です。特に、複数のマシンを管理したり、自動化スクリプトを作成したりするときに便利です。ただし、すべてのコマンドが常に完璧に機能するわけではないこと、またツールが明確なフィードバックを提供しない場合もあることを覚えておいてください。とはいえ、少なくともこれは第一歩です。
このガイドでは、コマンドプロンプト、PowerShell、さらにはVBScriptを使った方法など、UIをクリックせずにWindows Updateを開始する方法をいくつかご紹介します。お使いのWindowsのバージョン(およびシステムの堅牢性)によっては、これらの方法のいずれかが効果的かもしれません。
コマンドラインから Windows Update を実行するにはどうすればいいですか?
CLI経由でWindowsをアップデートする方法はいくつかあります。Microsoftはこれらのツールをエンドユーザー向けに設計していないため、多くの方法は少々風変わりですが、状況によっては十分に機能します。ここでは、知っておくべき点を解説します。
コマンドプロンプトの使用
この方法は、Windows 10 や 11 などの新しいバージョンで更新セッションを処理する という Windows の機能に依存していますUsoClient.exe。新しいシステムでは、この機能を使ってスキャンを実行することはできますが、更新プログラムを直接ダウンロードしたりインストールしたりすることはできません。少し奇妙ですが、試してみる価値はあります。
やり方:
- を使用して実行を開きますWin + R。
- 入力
cmdして押すと、管理者特権でのコマンド プロンプトCtrl + Shift + Enterが開きます。 - これで、次のようなコマンドを実行できます。
UsoClient StartScan— アップデートのスキャンを開始します。場合によっては、これでプロセス全体が開始されますが、環境によっては何も表示されずに失敗することもあります。進捗状況バーも表示されず、手がかりも示されません。あるマシンでは再起動後に動作しましたが、別のマシンではハングアップしたままでした。UsoClient StartDownload— アップデートをダウンロードしますが、インストールはしません。プロセスをスピードアップしたい場合や、事前にすべての準備をしておきたい場合に便利です。UsoClient StartInstall— ダウンロードしたパッチをインストールしようとします。ただし、事前にスキャンやダウンロードを行わないと、単独では何も実行されないことが多いので注意してください。UsoClient ScanInstallWait— チェック、ダウンロード、インストールを統合したツールです。なぜうまくいく時とうまくいかない時があるかは分かりませんが、試してみる価値はあります。UsoClient RestartDevice— 更新を完了するには再起動を強制しますが、Windows によっては再起動を要求することがあります。UsoClient ResumeUpdate— 最初に更新に失敗した場合、再起動後に更新を再開しようとします。UsoClient RefreshSettings— アップデート設定をデフォルトに戻します。アップデート設定に問題がある場合に役立ちます。
- コマンドを実行したら、コマンドプロンプトを閉じてください。実際には、多くのフィードバックは期待できません。設定によっては、実際に何が起こったかを表示せずにコマンドが終了してしまうこともあります。忍耐強く待つか、試行錯誤が必要になるかもしれません。
さらに詳しく調べるには、PowerShell を使用してスケジュールされた更新タスクを確認することもできます。これにより、より多くの情報が得られる場合があります。
PowerShell を開きます:
- を押してWin + R、 と入力し
powershell、 を押しますCtrl + Shift + Enter。 - このコマンドを貼り付けて Enter キーを押します。
Get-ScheduledTask -TaskPath '\Microsoft\Windows\UpdateOrchestrator\' | Select-Object @{Expression={$_. TaskName};Label="TaskName"}, @{Expression={$_. Actions. Execute + ' ' + $_. Actions. Arguments};Label="CommandLine"}
更新を自動的に処理するスケジュールされたタスクがいくつか表示されます。Windows を更新しようとしている場合は、スケジュールされているタスクを確認し、問題がないか確認すると便利です。
WindowsUpdate モジュールで PowerShell を使用する
PowerShellはWindows管理の強力なツールです。PSWindowsUpdateという追加モジュールをインストールすると、スクリプト内でアップデートを処理したり、利用可能なものを手動で確認したりするのがはるかに簡単になります。
試してみるもの:
- PowerShell を管理者として開きます ( Win + R、
powershellと入力してCtrl + Shift + Enter)。 - モジュールをインストールするには、次のコマンドを実行します。
Install-Module PSWindowsUpdateリポジトリを信頼するかどうかを尋ねられる場合がありますので、入力しYてEnterキーを押します。設定によっては警告が表示される場合があります。 - インストールが完了したら、次の方法で更新をスキャンできます。
Get-WindowsUpdate - 利用可能なものをすべてダウンロードしてインストールするには:
Install-WindowsUpdate -AcceptAll -AutoReboot - 特定の更新プログラム (KBxxxxxx など) を探している場合は、
Get-WindowsUpdate -KBArticleID 'KB123456'次のように入力してインストールします。
正直なところ、これはCLIからアップデートを処理する最もクリーンな方法でしょう。ある設定ではアップデートを完全に自動化できましたが、別の設定では自動再起動ができませんでした。Windowsは予測不可能な動作をするものです。
VBScriptの使用
はい、これはちょっと古い感じがしますが、更新を実行するためのスクリプトがたくさんある場合や、何らかの理由でそれを自動化したい場合は、VBScript が役立ちます。
- メモ帳を開きます(Win + Rと入力し
notepad、Enter キーを押します)。 - Windows Update APIを呼び出すスクリプトを探すか作成してください。Microsoftのドキュメントからサンプルスクリプトを入手し、メモ帳にコピーすることができます。
.vbsのような拡張子を付けてファイルを保存しますUpdateInstall.vbs。- 管理者特権のコマンド プロンプトを開きます(Win + R、 と入力して
cmd) Ctrl + Shift + Enter。 - 次のように入力してスクリプトを実行する か、スクリプトを右クリックして「パスとしてコピー」を選択し、次のように貼り付けます 。
cscript "\UpdateInstall.vbs" cscript - 画面の指示に従ってください。適切なスクリプトを設定すると、この方法はよりインタラクティブになります。
正直なところ、これらのCLIメソッドはどれも完璧なリアルタイムフィードバックを提供しません。特にコマンドがバックグラウンドでサイレント実行される場合は、ある程度の推測が必要になることを覚悟してください。それでも、自動またはヘッドレスの更新チェックが必要な場合は、試してみる価値はあります。