2023-07-12

WindowsUpdateに必要なファイルをオフラインで確認する方法

 インターネットへ接続できないWindowsOSのセキュリティ更新に必要なKB番号の確認方法。

クライアントPCでも適用できる。






1.wsusscn2.cabをダウンロードする

おおよそ1GB~2GB程度。

このCABファイルそのものはセキュリティ更新に必要なカタログファイルを内包している。
その時時点の最新のカタログファイルしか手に入らないため特定の時期のカタログファイルが欲しい場合は時期を考慮してDLする必要がある。


2.VBAスクリプトの作成

以下のMicrosoftの技術サイトのソースコードを基に作成する。

Set UpdateSession = CreateObject("Microsoft.Update.Session")
Set UpdateServiceManager = CreateObject("Microsoft.Update.ServiceManager")
Set UpdateService = UpdateServiceManager.AddScanPackageService("Offline Sync Service", "c:\wsusscn2.cab")
Set UpdateSearcher = UpdateSession.CreateUpdateSearcher()

WScript.Echo "Searching for updates..." & vbCRLF

UpdateSearcher.ServerSelection = 3 ' ssOthers

UpdateSearcher.ServiceID = UpdateService.ServiceID

Set SearchResult = UpdateSearcher.Search("IsInstalled=0")

Set Updates = SearchResult.Updates

If searchResult.Updates.Count = 0 Then
    WScript.Echo "There are no applicable updates."
    WScript.Quit
End If

WScript.Echo "List of applicable items on the machine when using wssuscan.cab:" & vbCRLF

For I = 0 to searchResult.Updates.Count-1
    Set update = searchResult.Updates.Item(I)
    WScript.Echo I + 1 & "> " & update.Title
Next

WScript.Quit

3.2つのファイルを実行したいサーバに配置して実行する

例、C:ドライブ直下に配置
直下でない場合は4行目の”C:\wsusscn2.cab”の値を実際に配置した場所に変更する必要がある。

実行する際はVBAファイルを実行するとしばらくしてから必要なKB番号が出る。
ただ、KBが一覧として出てくるわけではないので、一気に一覧としてほしい場合は、
コマンドプロンプトで[ cscript ]コマンドで実行する。

例).
> cscript c:\WinUpdCHK.vbs


0 件のコメント:

コメントを投稿

Windows Updateサービスを停止する方法

 結論 無理!!