2024-11-24 2026-06-14 Azure , Others , PowerShell/Azure CLI , Virtual Machines , Windows
PowerShellを利用したWindows Update手順です。
PSWindowsUpdateのインストールから、Get-WindowsUpdateを使用したWindows Updateの実行までの手順を紹介しています。
Get-WindowsUpdateを使用したWindows Updateでは、特定のKBのダウンロードのみや、インストールの実行などの方法も紹介しています。
コマンドレットのパラメーターを利用して確認メッセージを自動的に許可したり、Windows Update後にOS再起動させる方法も紹介しています。
PowerShellを利用してWindows Updateを行うための手順
確認に使用した環境(バージョン)
確認に使用したバージョンです。
PowerShell : 7.6.2
PSWindowsUpdate : 2.2.1.5
NuGet : 3.0.0.1
手順の確認には、Azure上に作成した仮想マシンを使用しています。
Windows Server 2025 Datacenter Edition(24H2)を使用しています。
Windows Updateを管理するためのPowerShellモジュールはPSWindowsUpdate
PSWindowsUpdateは、Windows Updateを管理するためのPowerShellモジュールです。
PSWindowsUpdateには、Windows Updateクライアントを管理するためのコマンドレットが含まれています。
PSWindowsUpdate
Install-Moduleコマンドレットを使用して、PSWindowsUpdateモジュールをインストールしています。
必要に応じてNuGetプロバイダーも自動的にインストールされます。
Install-Module
NuGet の概要
# PSWindowsUpdateをインストール
PS C:\>
Install-Module -Name PSWindowsUpdate -Force
# PSWindowsUpdateインストール後の確認
PS C:\>
Get-InstalledModule -Name PSWindowsUpdate
Version Name Repository Description
——- —- ———- ———–
2.2.1.5 PSWindowsUpdate PSGallery This module contain cmdlets to manage Windows Update Client.
PS C:\> Get-PackageProvider -ListAvailable -Name NuGet
Name Version DynamicOptions
—- ——- ————–
NuGet 3.0.0.1 Destination, ExcludeVersion, Scope, SkipDependencies, Headers, FilterOnTag, Contains, AllowPrereleaseVersions, ConfigFile, SkipValidate
※NuGetプロバイダーがインストールされていない場合は、Install-PackageProvider -Name NuGetコマンドレットを使用してインストールします。
Get-Commandを使ってPSWindowsUpdateモジュールに含まれるコマンドレットを確認
Get-Commandコマンドレットを利用して、PSWindowsUpdateモジュールに含まれているコマンドレットを確認できます。
Get-Command
Windows Updateに利用する、Get-WindowsUpdateコマンドレットが含まれていることを確認できます。
# PSWindowsUpdateに含まれるコマンドレットを確認
PS C:\>
Get-Command -Module PSWindowsUpdate
CommandType Name Version Source
———– —- ——- ——
Alias Clear-WUJob -> Get-WUJob 2.2.1.5 PSWindowsUpdate
Alias Download-WindowsUpdate -> Get-WindowsUpdate 2.2.1.5 PSWindowsUpdate
Alias Get-WUInstall -> Get-WindowsUpdate 2.2.1.5 PSWindowsUpdate
Alias Get-WUList -> Get-WindowsUpdate 2.2.1.5 PSWindowsUpdate
Alias Hide-WindowsUpdate -> Get-WindowsUpdate 2.2.1.5 PSWindowsUpdate
Alias Install-WindowsUpdate -> Get-WindowsUpdate 2.2.1.5 PSWindowsUpdate
Alias Show-WindowsUpdate -> Get-WindowsUpdate 2.2.1.5 PSWindowsUpdate
Alias UnHide-WindowsUpdate -> Get-WindowsUpdate 2.2.1.5 PSWindowsUpdate
Alias Uninstall-WindowsUpdate -> Remove-WindowsUpdate 2.2.1.5 PSWindowsUpdate
Cmdlet Add-WUServiceManager 2.2.1.5 PSWindowsUpdate
Cmdlet Enable-WURemoting 2.2.1.5 PSWindowsUpdate
Cmdlet Get-WindowsUpdate 2.2.1.5 PSWindowsUpdate
Cmdlet Get-WUApiVersion 2.2.1.5 PSWindowsUpdate
Cmdlet Get-WUHistory 2.2.1.5 PSWindowsUpdate
Cmdlet Get-WUInstallerStatus 2.2.1.5 PSWindowsUpdate
Cmdlet Get-WUJob 2.2.1.5 PSWindowsUpdate
Cmdlet Get-WULastResults 2.2.1.5 PSWindowsUpdate
Cmdlet Get-WUOfflineMSU 2.2.1.5 PSWindowsUpdate
Cmdlet Get-WURebootStatus 2.2.1.5 PSWindowsUpdate
Cmdlet Get-WUServiceManager 2.2.1.5 PSWindowsUpdate
Cmdlet Get-WUSettings 2.2.1.5 PSWindowsUpdate
Cmdlet Invoke-WUJob 2.2.1.5 PSWindowsUpdate
Cmdlet Remove-WindowsUpdate 2.2.1.5 PSWindowsUpdate
Cmdlet Remove-WUServiceManager 2.2.1.5 PSWindowsUpdate
Cmdlet Reset-WUComponents 2.2.1.5 PSWindowsUpdate
Cmdlet Set-PSWUSettings 2.2.1.5 PSWindowsUpdate
Cmdlet Set-WUSettings 2.2.1.5 PSWindowsUpdate
Cmdlet Update-WUModule 2.2.1.5 PSWindowsUpdate
Windows UpdateにはGet-WindowsUpdateを使う(パラメーターを確認)
Get-Helpコマンドレットを使用して、Get-WindowsUpdateのヘルプ情報を確認します。
Get-WindowsUpdateコマンドレットには、Install、Download、AcceptAll、AutoRebootなどのパラメーターが含まれていることが分かります。
# Get-WindowsUpdateのヘルプを確認
PS C:\> Get-Help Get-WindowsUpdate
NAME
Get-WindowsUpdate
SYNOPSIS
Get list of available updates meeting the criteria.
SYNTAX
Get-WindowsUpdate [-AcceptAll <SwitchParameter>] [-AutoReboot <SwitchParameter>] [-AutoSelectOnly <SwitchParameter>] [-AutoSelectOnWebSites <SwitchParameter>] [-BrowseOnly <SwitchParameter>] [-Category <s
tring[]>] [-CategoryIDs <string[]>] [-ComputerName <string[]>] [-Criteria <string>] [-Debuger <SwitchParameter>] [-DeploymentAction <string>] [-Download <SwitchParameter>] [-ForceDownload <SwitchParameter
>] [-ForceInstall <SwitchParameter>] [-Hide <SwitchParameter>] [-IgnoreReboot <SwitchParameter>] [-IgnoreRebootRequired <SwitchParameter>] [-IgnoreUserInput <SwitchParameter>] [-Install <SwitchParameter>]
[-IsAssigned <SwitchParameter>] [-IsHidden <SwitchParameter>] [-IsInstalled <SwitchParameter>] [-IsPresent <SwitchParameter>] [-KBArticleID <string[]>] [-MaxSize <long>] [-MinSize <long>] [-NotCategory <
string[]>] [-NotKBArticleID <string[]>] [-NotSeverity <string[]>] [-NotTitle <string>] [-NotUpdateID <string[]>] [-PSWUSettings <Hashtable>] [-RecurseCycle <int>] [-RevisionNumber <int>] [-RootCategories
<string[]>] [-ScheduleJob <DateTime>] [-ScheduleReboot <DateTime>] [-SendHistory <SwitchParameter>] [-SendReport <SwitchParameter>] [-ServiceID <string>] [-Severity <string[]>] [-ShowPreSearchCriteria <Sw
itchParameter>] [-Title <string>] [-UpdateID <string[]>] [-UpdateType <string>] [-WithHidden <SwitchParameter>] [<CommonParameters>]
~(中略)~
DESCRIPTION
Use Get-WindowsUpdate (aka Get-WUList) cmdlet to get list of available or installed updates meeting specific criteria.
Use Download-WindowsUpdate alias to get list of updates and download it. Equivalent Get-WindowsUpdate -Download.
Use Install-WindowsUpdate (aka Get-WUInstall) alias to get list of updates and install it. Equivalent Get-WindowsUpdate -Install.
Use Hide-WindowsUpdate alias to get list of updates and hide it. Equivalent Get-WindowsUpdate -Hide.
Use Show-WindowsUpdate (aka UnHide-WindowsUpdate) alias to get list of updates and unhide it. Equivalent Get-WindowsUpdate -Hide:$false.
~(以下略)~
Get-WindowsUpdateで適用可能なWindows Updateパッケージ一覧を取得
Get-WindowsUpdateを使用して、適用可能なWindows Updateの一覧を取得できます。
# Get-WindowsUpdateで利用可能なWindows Updateの一覧を取得
PS C:\> Get-WindowsUpdate
ComputerName Status KB Size Title
———— —— — —- —–
vm-01 ——- KB2267602 1GB Microsoft Defender Antivirus のセキュリティ インテリジェンス更新プログラム – KB2267602 (バージョン 1.453.70.0) – 現在のチャネル (広範)
vm-01 ——- KB5087051 184MB 2026-05 .NET Framework セキュリティ パッチ (KB5087051)
vm-01 ——- KB5094125 21GB 2026-06 セキュリティ パッチ (KB5094125) (26100.32995)
※Windows Updateの一覧は、記事執筆時点のものです。
Get-WindowsUpdate -InstallでWindows Updateを実行
Get-WindowsUpdateにInstallパラメーターを追加すると、適用可能なWindows Updateをインストールできます。
インストール前には、適用の可否を確認するメッセージが表示されます。
また、OSの再起動が必要な場合は、最後に再起動の確認メッセージが表示されます。
それぞれのデフォルト値は、インストール可否がY(適用)、再起動確認がN(再起動しない)になります。
# Windows Updateを実行(インストールまでを実行)
PS C:\>
Get-WindowsUpdate -Install
Confirm
Are you sure you want to perform this action?
Performing the operation “(2026/06/13 16:29:54) Microsoft Defender Antivirus のセキュリティ インテリジェンス更新プログラム – KB2267602 (バージョン 1.453.70.0) – 現在のチャネル (広範)[1GB]" on target “vm-01".
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is “Y"): Y # 適用します。
Confirm
Are you sure you want to perform this action? ]
Performing the operation “(2026/06/13 16:30:03) 2026-05 .NET Framework セキュリティ パッチ (KB5087051)[184MB]" on target “vm-01".
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is “Y"): Y # 適用します。
Confirm
Are you sure you want to perform this action?
Performing the operation “(2026/06/13 16:30:11) 2026-06 セキュリティ パッチ (KB5094125) (26100.32995)[21GB]" on target “vm-01".
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is “Y"): N # 別の確認に利用するためNを選択しています。
X ComputerName Result KB Size Title
– ———— —— — —- —–
1 vm-01 Accepted KB2267602 1GB Microsoft Defender Antivirus のセキュリティ インテリジェンス更新プログラム – KB2267602 (バージョン 1.453.70.0) – 現在のチャネル (広範)
1 vm-01 Accepted KB5087051 184MB 2026-05 .NET Framework セキュリティ パッチ (KB5087051)
1 vm-01 Rejected KB5094125 21GB 2026-06 セキュリティ パッチ (KB5094125) (26100.32995)
2 vm-01 Downloaded KB2267602 1GB Microsoft Defender Antivirus のセキュリティ インテリジェンス更新プログラム – KB2267602 (バージョン 1.453.70.0) – 現在のチャネル (広範)
2 vm-01 Downloaded KB5087051 184MB 2026-05 .NET Framework セキュリティ パッチ (KB5087051)
3 vm-01 Installed KB2267602 1GB Microsoft Defender Antivirus のセキュリティ インテリジェンス更新プログラム – KB2267602 (バージョン 1.453.70.0) – 現在のチャネル (広範)
3 vm-01 Installed KB5087051 184MB 2026-05 .NET Framework セキュリティ パッチ (KB5087051)
Reboot is required. Do it now? [Y / N] (default is 'N’) Y # OSを再起動します。
※Windows Updateの一覧は、記事執筆時点のものです。
Get-WindowsUpdate -DownloadでWindows Updateパッケージをダウンロード(適用はしない)
Get-WindowsUpdateにDownloadパラメーターを追加すると、Windows Updateパッケージを適用前にダウンロードすることができます。
Windows Updateの適用時にはインストールのみが実行されるため、作業時間を短縮できます。
結果として、Windows Updateの適用開始から終了までの時間を短縮することができます。
# Windows Updateのパッケージをダウンロード
PS C:\>
Get-WindowsUpdate -Download
Confirm
Are you sure you want to perform this action?
Performing the operation “(2026/06/13 18:23:28) 2026-06 セキュリティ パッチ (KB5094125) (26100.32995)[21GB]" on target
“vm-01".
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is “Y"): Y
X ComputerName Result KB Size Title
– ———— —— — —- —–
1 vm-01 Accepted KB5094125 21GB 2026-06 セキュリティ パッチ (KB5094125) (26100.32995)
2 vm-01 Downloaded KB5094125 21GB 2026-06 セキュリティ パッチ (KB5094125) (26100.32995)
# Windows Updateのパッケージダウンロードを確認(StatusがDになっています)
PS C:\>
Get-WindowsUpdate
ComputerName Status KB Size Title
———— —— — —- —–
vm-01 -D—– KB5094125 21GB 2026-06 セキュリティ パッチ (KB5094125) (26100.32995)
※Windows Updateの一覧は、記事執筆時点のものです。
AcceptAllやAutoRebootパラメーターを使って確認メッセージの自動承認やOSの自動再起動
確認メッセージへの応答を省略したい場合は、パラメーターを指定して自動承認できます。
Windows Updateの適用可否を自動的に承認するには、AcceptAllパラメーターを使用します。
再起動を自動的に実行するには、AutoRebootパラメーターを使用します。
パラメーターを利用すると、確認メッセージが表示されなくなります。
# Get-WindowsUpdateを自動承認、自動再起動で実行
PS C:\> Get-WindowsUpdate -Install -AcceptAll -AutoReboot
X ComputerName Result KB Size Title
– ———— —— — —- —–
1 vm-01 Accepted KB5094125 21GB 2026-06 セキュリティ パッチ (KB5094125) (26100.32995)
2 vm-01 Downloaded KB5094125 21GB 2026-06 セキュリティ パッチ (KB5094125) (26100.32995)
3 vm-01 Installed KB5094125 21GB 2026-06 セキュリティ パッチ (KB5094125) (26100.32995)
# 確認メッセージ表示されることなく、自動でOSが再起動されます。
Windows Updateで特定のKB番号のみダウンロード、インストール
Get-WindowsUpdateは、特定のKB番号を指定することで、そのKBのみをダウンロードおよびインストールすることができます。
KBArticleIDパラメーターを使用して、KB番号を指定します。
# Get-WindowsUpdateで特定のKBに関する情報を取得
PS C:\> Get-WindowsUpdate -KBArticleID “KB890830"
ComputerName Status KB Size Title
———— —— — —- —–
vm-01 ——- KB890830 84MB 悪意のあるソフトウェアの削除ツール x64 – v5.142 (KB890830)
# Get-WindowsUpdateで特定のKBに関してのみダウンロード
PS C:\> Get-WindowsUpdate -KBArticleID “KB890830" -Download
Confirm
Are you sure you want to perform this action?
Performing the operation “(2026/06/13 15:44:55) 悪意のあるソフトウェアの削除ツール x64 – v5.142 (KB890830)[84MB]" on target “vm-01".
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is “Y"): Y
X ComputerName Result KB Size Title
– ———— —— — —- —–
1 vm-01 Accepted KB890830 84MB 悪意のあるソフトウェアの削除ツール x64 – v5.142 (KB890830)
2 vm-01 Downloaded KB890830 84MB 悪意のあるソフトウェアの削除ツール x64 – v5.142 (KB890830)
# Get-WindowsUpdateで特定のKBに関してのみインストール
PS C:\> Get-WindowsUpdate -KBArticleID KB890830 -Install
Confirm
Are you sure you want to perform this action?
Performing the operation “(2026/06/13 15:49:16) 悪意のあるソフトウェアの削除ツール x64 – v5.142 (KB890830)[84MB]" on target “vm-01".
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is “Y"): Y
X ComputerName Result KB Size Title
– ———— —— — —- —–
1 vm-01 Accepted KB890830 84MB 悪意のあるソフトウェアの削除ツール x64 – v5.142 (KB890830)
2 vm-01 Downloaded KB890830 84MB 悪意のあるソフトウェアの削除ツール x64 – v5.142 (KB890830)
3 vm-01 Installed KB890830 84MB 悪意のあるソフトウェアの削除ツール x64 – v5.142 (KB890830)
PS C:\>
Get-WindowsUpdate -KBArticleID KB890830
PS C:\> インストール済みなので何も表示されません
—広告—
最後に
今回は、PowerShellを利用したWindows Updateの手順について確認しました。
PSWindowsUpdateモジュールを利用して、PowerShellからWindows Updateを操作できることが分かりました。
PowerShellを使うことでWindows Updateを自動化できるため、複数のサーバーを管理する場合などに便利かと思いました。
引き続き、いろいろ試してみたいと思います。
Windows Server 2025の日本語化手順については、こちらで紹介しています。
Windows Defender ファイアウォールで通信を許可するための手順については、こちらで紹介しています。
PowerShellを利用して規則を構成する手遦についても紹介しています。