😽
【Windows】システムに適用されているKBの確認方法
きっかけ
どこのプロジェクトもそうかもしれませんが、Windowsの脆弱性が見つかると、WindowsUpdateをするように注意喚起されることがあるかと思います。
その際、自分が利用しているシステムは果たして修正プログラム(KB)が適用されているのかの確認方法を調べてみましたのでまとめてみます。
コマンドプロンプトから 「systeminfo」 コマンドを実行
私が真っ先に思いついた方法でした。
私の環境のWindowsServerでは以下のよう出力されていました。
C:\Users\Administrator>systeminfo
Host Name: XXXXXXX-XXXXXXX ※マスクしています
OS Name: Microsoft Windows Server 2019 Datacenter
OS Version: 10.0.17763 N/A Build 17763
OS Manufacturer: Microsoft Corporation
OS Configuration: Standalone Server
OS Build Type: Multiprocessor Free
<途中省略>
Hotfix(s): 40 Hotfix(s) Installed. ※インストールされているKB
[01]: KB5015731
[02]: KB4470502
[03]: KB4470788
[04]: KB4480056
[05]: KB4486153
[06]: KB4493510
[07]: KB4499728
[08]: KB4504369
[09]: KB4512577
.
.
.
ちなみにシステムの起動時間などもわかりますので、障害調査する際にも有効なコマンドだと思います。
PowerShellから「Get-HotFix」コマンド実行
今回調べて新たに発見した方法がPowerShellから「Get-HotFix」コマンドを利用する方法です。
早速自分の環境で実行すると以下のように出力されました。
PS C:\Users\Administrator> Get-HotFix
Source Description HotFixID InstalledBy InstalledOn
------ ----------- -------- ----------- -----------
XXXXXXX-XX... Update KB5015731 NT AUTHORITY\SYSTEM 8/10/2022 12:00:00 AM
XXXXXXX-XX... Update KB4470502 NT AUTHORITY\SYSTEM 12/12/2018 12:00:00 AM
XXXXXXX-XX... Security Update KB4470788 NT AUTHORITY\SYSTEM 12/12/2018 12:00:00 AM
XXXXXXX-XX... Update KB4480056 NT AUTHORITY\SYSTEM 1/9/2019 12:00:00 AM
XXXXXXX-XX... Update KB4486153 NT AUTHORITY\SYSTEM 3/11/2021 12:00:00 AM
.
.
.
※Sourceはホスト名のためマスクしています
Descriptionも出力されるため、何のKBなのかわかりやすいですね。
また、コマンドのオプションを使用すると該当するKBのみフィルターして出力されます。
例)"Updateのみを出力"
PS C:\Users\Administrator> Get-HotFix -Description "Update"
Source Description HotFixID InstalledBy InstalledOn
------ ----------- -------- ----------- -----------
XXXXXX-XX... Update KB5015731 NT AUTHORITY\SYSTEM 8/10/2022 12:00:00 AM
XXXXXX-XX... Update KB4470502 NT AUTHORITY\SYSTEM 12/12/2018 12:00:00 AM
また、特定のKBのみを出力する方法もあります。
この方法を使用してある特定のKBが適用されているのかどうか確認ができます。
例)"KB5015731のみを出力"
PS C:\Users\Administrator> Get-HotFix -id "KB5015731"
Source Description HotFixID InstalledBy InstalledOn
------ ----------- -------- ----------- -----------
XXXXXXX-XX... Update KB5015731 NT AUTHORITY\SYSTEM 8/10/2022 12:00:00 AM
上記だと完全一致するものしか出力されませんが、「like」を使用して部分一致するKBを出力することも可能です。
例)"「KB500」から始まるKBを出力"
PS C:\Users\Administrator> Get-HotFix | Where-Object HotFixID -like "KB500*"
Source Description HotFixID InstalledBy InstalledOn
------ ----------- -------- ----------- -----------
XXXXXXX-XX... Security Update KB5000859 NT AUTHORITY\SYSTEM 3/11/2021 12:00:00 AM
XXXXXXX-XX... Security Update KB5001404 NT AUTHORITY\SYSTEM 4/14/2021 12:00:00 AM
XXXXXXX-XX... Security Update KB5003243 NT AUTHORITY\SYSTEM 5/13/2021 12:00:00 AM
まとめ
今回はKBを調べるために「Get-HotFix」コマンドの一部簡易的な使い方を紹介しましたが、
ローカルホストではなく、リモートホストのKBを調べる際に利用している事例を発見しました。
他にも色々と便利に使えるようなのでまた調べて投稿したいと思います。
最後までお読みいただきありがとうございました。
Discussion