Windows Update Agent(WUA)API を使用した Windows Update 用サンプル スクリプト「WUA_SearchDownloadInstall.vbs」が新しくなってました。いつ差し替えられたのかわかりませんが、少なくとも去年 7 月には新しくなっていた模様。少なくとも 2019年の時点では古いやつだった。
Searching, Downloading, and Installing Updates (2020/07/23)
https://docs.microsoft.com/ja-jp/windows/win32/wua_sdk/searching--downloading--and-installing-updates
新しいスクリプトはたくさんのパラメーターを新たにサポート。
以下の WindowsUpdate.vbs は古い WUA_SearchDownloadInstall.vbs を改造したもの。検索して更新あれば yes/no でインストールするかしないか選択するだけの単純なスクリプトだった。
Windows Scripting: Windows Update をスクリプトから ( WindowsUpdate.vbs )
以前公開されてたのはこんな感じで始まるやつ。 こっちにあった → Searching, Downloading, and Installing Updates (Windows) | Microsoft Docs
"Set updateSession = CreateObject("Microsoft.Update.Session")
updateSession.ClientApplicationID = "MSDN Sample Script"
Set updateSearcher = updateSession.CreateUpdateSearcher()
WScript.Echo "Searching for updates..." & vbCRLF
Set searchResult = _
updateSearcher.Search("IsInstalled=0 and Type='Software' and IsHidden=0")
..."
パラメーターなしだと以前とあまり変わりませんが...(このあとインストール結果(Installation Result:)と再起動の必要性(Reboot Required:)など表示して終了)
サポートされるパラメーターはこちら。' Supported parameters:
' /AppName: Name to pass to the WUA API as the 'calling application';
' this appears in the Windows Update logs
' Default: "WUA API Sample Script"
' /Criteria: Search criteria to be used (see the WUA documentation for
' IUpdateSearcher::BeginSearch for examples)
' Default: Search for all non-installed, non-hidden software
' /Automate: Don't prompt the user for various actions
' Default: Prompt the user
' /IgnoreSupersedence: Display all applicable updates, even those
' superseded by newer updates
' Default: Ignore supersedes updates
' /Offline: Path to WSUSSCN2.cab file that should be used for offline sync
' Default: Don't do offline sync
' /Service: Update service that script should scan against
' Available values: WU, MU, WSUS, or an
' identifying GUID of another service
' Default: Default service (WSUS if machine is configured to
' use it, or MU if opted in, or WU otherwise)
' Ignored if /Offline is set
' /NoDownload: Do not download any updates that the scan detects
' /NoInstall: Do not install any updates that the scan detects
' /ShowBundle: Output information about the child updates in the
' bundled updates that are found
/Automate を指定すれば、対話なしで確認、ダウンロード、インストールと進む。
cscript WUA_SearchDownloadInstall.vbs /Automate
以下のサイトにオフラインスキャンのサンプル スクリプトありますけど、
Using WUA to Scan for Updates Offline
https://docs.microsoft.com/ja-jp/windows/win32/wua_sdk/using-wua-to-scan-for-updates-offline
オフライン検索用の最新の Wsusscn2.cab はこちら(毎月第 2 火 PT 更新、WSUS に同期されるやつ、C パッチとかは含まない)
http://download.windowsupdate.com/microsoftupdate/v6/wsusscan/wsusscn2.cab
新しい WUA_SearchDownloadInstall.vbs なら次のように実行できる。/NoDownload /NoInstall を省略すれば、検出結果に基づいてダウンロードとインストールを進めることもできる。
cscript WUA_SearchDownloadInstall.vbs /Offline:<パス>\wsusscn2.cab /NoDownload /NoInstall
オンライン スキャンなら、こう。今なら .NET の C パッチとか、Adobe Flash の削除更新とかオプションの更新も検索してくる。
cscript WUA_SearchDownloadInstall.vbs /NoDownload /NoInstall
余計な(オプションの)更新を避ける方法として、オフラインスキャンからの自動インストール。
cscript WUA_SearchDownloadInstall.vbs /Offline:<パス>\wsusscn2.cab /Automate
あと、WSUS クライアントで Windows Update(/Service:WU)or Microsoft Update(/Service:MU)を明示的に指定してアップデートさせたりもできる。
ちなみに、既定の検索条件(Criteria)は、"IsInstalled=0 and Type='Software' and IsHidden=0"
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。