PowerShellを使ってWindows Updateを手動で実行する方法

PowerShellからWindows Updateを手動で操作する方法の一つに、PSWindowsUpdateモジュールがあります。ただし、これはWindowsに標準搭載されたMicrosoft製コマンドではなく、Michal Gajda氏が公開している追加モジュールです。導入元と組織の運用ルールを確認したうえで使います。

この記事では、モジュールの準備、更新の一覧確認、KB番号を指定したインストール、再起動の要否と更新履歴の確認を順番に解説します。掲載したコマンドを一度にまとめて実行せず、確認用とインストール用を分けて進めてください。

目次

PowerShellを使う場合と、設定画面を使う場合

PowerShellを使うと、更新候補や履歴をコマンドで確認し、運用手順をそろえやすくなります。一方、個人のPCで単に更新したい場合は、Windows 11の「設定 → Windows Update」で確認する方が簡単です。追加モジュールを使う必要はありません。

会社や学校のPCでは、WSUS、Intune、Configuration Managerなどで更新元・配信日・再起動が管理されていることがあります。管理者の許可なく更新元を切り替えたり、ポリシーを解除したりしないでください。PowerShellに変えても、承認されていない更新が自由に適用できるわけではありません。

実行前の確認:Windows PowerShell 5.1と管理者権限

本記事の例は、ローカルPCでWindows PowerShell 5.1を管理者として開く手順です。2026年10月20日に確認したPSWindowsUpdate 2.2.1.5の配布ページは、最小PowerShellバージョンを5.1、対応エディションをDesktopとしています。PowerShell 7で同じ動作をするとは決めつけないでください。

スタートで「Windows PowerShell」を検索して「管理者として実行」を選びます。Windows Terminalを使う場合も、管理者として開いたうえでWindows PowerShellのプロファイルを選択します。powershell.exe とPowerShell 7の pwsh.exe は別の実行ファイルです。確認には次を使います。

$PSVersionTable
Get-Module -ListAvailable -Name PSWindowsUpdate |
    Select-Object Name, Version, Path

PSVersion が5.1、PSEdition がDesktopであることを確認します。更新適用の前には作業を保存し、必要なデータのバックアップ、空き容量、電源、メンテナンス時間も確認してください。モジュールをインストールしただけではWindowsの更新は適用されません。

Windows 10を使う場合、一般提供版の通常サポートは2025年10月14日に終了しています。ESUやLTSCなどの扱いは別途確認が必要です。モジュールを導入してもOSのサポート期間や更新資格は変わりません。参照:Windows 10のESUに関するMicrosoftの案内。

1.PSWindowsUpdateを確認してインストールする

PSWindowsUpdateはWindows標準のモジュールではないため、未導入なら先に追加が必要です。まず登録済みのリポジトリと、この記事で扱うバージョンの情報を確認します。

Get-PSRepository
Find-Module -Name PSWindowsUpdate -Repository PSGallery -RequiredVersion 2.2.1.5 |
    Select-Object Name, Version, Author, Repository

配布元、作者、内容、ライセンスを確認し、組織の承認を受けてからインストールします。PowerShell Galleryへの掲載は、すべてのパッケージがMicrosoft製であることを意味しません。Microsoftも導入前のパッケージ内容の確認を勧めています。

Install-Module -Name PSWindowsUpdate -Repository PSGallery -Scope CurrentUser -RequiredVersion 2.2.1.5

この例は、記事の確認対象である2.2.1.5を現在のユーザー用に導入します。すでに別バージョンを運用している環境では、勝手に置き換えず、そのバージョンのヘルプを確認してください。管理者として別アカウントを指定した場合、CurrentUserはその管理者アカウントを指します。

NuGetプロバイダーやリポジトリの信頼確認が表示されたら、要求内容と取得先を確認します。理由を確認せず -Force や -SkipPublisherCheck を付けて警告を回避しないでください。後者は発行元の署名に関するチェックを省略するため、通常の導入例には不要です。

2.モジュールを読み込み、更新元と候補を確認する

Import-Module PSWindowsUpdate -RequiredVersion 2.2.1.5
Get-Command -Module PSWindowsUpdate
Get-WUServiceManager
Get-WindowsUpdate

Import-Module はコマンドを読み込みます。Get-WUServiceManager で登録されている更新サービスを確認し、Get-WindowsUpdate で既定の更新サービスに対する更新候補を取得します。この一覧確認だけでは更新をインストールしません。

表示されたタイトル、KB番号、サイズなどを確認します。既定の更新元は環境によって異なり、企業PCではWSUSなどの場合もあります。「一覧に何も出ない」ことだけで、OSのサポート状態や管理ポリシーを含めて問題がないとは判断できません。

3.確認したKB番号を指定してインストールする

次の例では、直前の一覧から選んだKB番号を入力して再確認します。記事に載った古いKB番号をそのまま指定せず、対象PCで現在提供されている更新を選んでください。

$kb = (Read-Host '一覧で確認したKB番号を1つ入力(KBから始まる番号)').Trim()
if ($kb -notmatch '^KB[0-9]+$') {
    throw 'KB番号の形式を確認してください。'
}
Get-WindowsUpdate -KBArticleID $kb

これは入力形式と検索結果の確認です。指定KBが実際に適用可能かは、検索結果と更新の対象OSで判断します。結果がない場合は、後のインストール操作に進まず、既に適用済み・別更新に置き換え済み・対象OS違い・更新元の承認状況などを確認してください。

同じPowerShellウィンドウで、表示された対象をインストールしてよいと確認できたら次を実行します。

Install-WindowsUpdate -KBArticleID $kb -IgnoreReboot

Install-WindowsUpdate は作者が提供するインストール用コマンドです。確認が表示されたら対象を読み、必要な更新だけを承認します。ここでは -AcceptAll を付けず、更新の一括承認を避けています。

-IgnoreReboot は、このモジュールからの自動再起動を行わない指定です。再起動不要になる指定でも、Windowsや組織のポリシーによる再起動を禁止する設定でもありません。更新処理を途中で中断せず、終了時の成功・失敗・再起動要求を確認してください。

4.更新履歴と再起動の要否を確認する

Get-WUHistory -Last 20
Get-WURebootStatus -Silent

Get-WUHistory で最近の更新履歴を確認します。Get-WURebootStatus -Silent は再起動の要否を真偽値で返す確認です。Trueなら、業務への影響を確認し、作業を保存して予定した時間に再起動します。

再起動後は、Windows Updateの画面と更新履歴を確認し、必要に応じて再度 Get-WindowsUpdate で候補を確認します。更新によっては再起動後に次の更新が提供されますが、何度も自動実行する無制限のループは作らず、結果を確認して判断してください。

応用:Microsoft Updateを明示して確認する

Microsoft Updateは、Windows以外の対応するMicrosoft製品の更新も扱う更新元です。すべてのアプリやOfficeの更新方式を一本化するものではありません。-MicrosoftUpdate を指定した検索と、指定なしのインストールを混ぜると、異なる更新元を対象にする可能性があります。検索とインストールの更新元をそろえてください。

まず Get-WUServiceManager で登録状況を確認します。Microsoft Updateが未登録で、組織のルール上登録が認められている場合に限り、次を検討します。これは単なる照会ではなく、更新サービスの登録を変更する操作です。

Add-WUServiceManager -MicrosoftUpdate

Microsoft Updateが利用できる環境では、次で一覧を取得します。

Get-WindowsUpdate -MicrosoftUpdate

この一覧から対象KBを選び直し、前述の入力・形式確認の手順で $kb を設定してください。検索結果を確認してから、インストールにも同じ指定を付けます。

# 検索のみ
Get-WindowsUpdate -MicrosoftUpdate -KBArticleID $kb

対象とメンテナンス時間を確認できた場合のインストール操作は次のとおりです。

Install-WindowsUpdate -MicrosoftUpdate -KBArticleID $kb -IgnoreReboot

社内更新元しか利用できない環境で、これを回避策として使用しないでください。Windowsの更新ポリシーによる外部接続制限は、Microsoftの更新設定の説明を参照し、管理担当者へ確認します。

うまく動かないときの確認ポイント

症状確認すること
Import-Moduleで見つからないインストールが成功したか、同じユーザー・Windows PowerShell 5.1を使っているか、指定したバージョンがあるかをGet-Module -ListAvailableで確認します。
スクリプト実行が禁止されているGet-ExecutionPolicy -Listで適用状態を確認し、組織の管理者へ相談します。エラー回避だけのためにBypassやUnrestrictedへ変更しません。
アクセスが拒否されるWindows PowerShellを管理者として開いているか、組織のアプリ制御や更新ポリシーで許可されているかを確認します。
PowerShell Galleryへ接続できないリポジトリURL、プロキシ、ネットワーク制限、TLS 1.2以上の通信を確認します。証明書検証や保護機能を無効にして接続しません。
KBが見つからない対象OS・バージョン、適用済みか、置き換えられた更新か、指定した更新元と承認状況を確認します。KB指定は任意の更新を強制適用する機能ではありません。
インストールが失敗するエラーコード、KB番号、実行日時、Windowsのバージョンを記録します。再起動待ち、空き容量、設定画面のWindows Updateの結果を確認します。

Windows Update自体の問題が疑われる場合は、MicrosoftのWindows Updateトラブルシューティングに沿って「ヘルプを表示」アプリなどで調べます。最初から更新キャッシュ削除、サービスの一括停止、レジストリ変更を行うのは避けてください。

まとめ

PowerShellでWindows Updateを操作する際は、追加モジュールの信頼性と実行環境を確認し、「一覧確認 → 対象選択 → インストール → 履歴・再起動確認」の順で進めます。更新元をそろえ、警告の強制回避や無条件の自動再起動を避けることが、手動作業の事故を減らすポイントです。

参照:PSWindowsUpdate作者の使用例、作者公開のコマンドヘルプ、Install-Module、実行ポリシー、PowerShell公式ドキュメント(資料確認日:2026年10月20日。掲載手順は公式資料・作者資料との照合によるもので、すべてのPC構成での実機動作を保証するものではありません。)

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次