Windows7の環境で、WindowsUpdateの特定の更新プログラムを非表示にしたものの、再表示させる必要が出てきました。
GUIでは出来ますが、エンドユーザーに操作させたくないため、スクリプトを用いバックグラウンドで処理したいと思っています。
調べると、VBScriptで実行できることが判明しました。
MSコミュニティ:Windows Updateで非表示にした更新を再度表示させる方法 にやりたいスクリプトが掲載されてました。
上記サイトでは Title で条件を指定しましたが、WSUSなど使っていて UpdateID がわかっているなら、それを条件に用いることも可能です。(idのほうが間違いがすくないですね..)
Set objSession = CreateObject("Microsoft.Update.Session") Set objSearcher = objSession.CreateUpdateSearcher 'インストールしていない、ソフトウェアで非表示にしているものを検索 Set objResults = objSearcher.Search("IsInstalled=0 and Type='Software' and IsHidden=1") Set colUpdates = objResults.Updates For i = 0 to colUpdates.Count - 1 '条件に一致するものを再表示 'If colUpdates.Item(i).Title = "Microsoft PowerPoint 2013 (KB3127967) 32 ビット版 の更新プログラム" Then Set objIdentity = colUpdates.Item(i).Identity If objIdentity.UpdateID = "52d231c1-a746-4b86-812c-e885431219c7" Then colUpdates.Item(i).IsHidden = 0 End If Next
objResults.Updatesで返ってきた検索結果のオブジェクトですが、様々なプロパティがあるので、どんな情報取れるか試してみました。
Set objSession = CreateObject("Microsoft.Update.Session") Set objSearcher = objSession.CreateUpdateSearcher 'インストールしていない、ソフトウェアで非表示にしているものを検索 Set objResults = objSearcher.Search("IsInstalled=0 and Type='Software' and IsHidden=1") Set colUpdates = objResults.Updates For i = 0 to colUpdates.Count - 1 Wscript.Echo "Title: " & colUpdates.Item(i).Title Wscript.Echo "Autoselect on Web sites: " & colUpdates.Item(i).AutoSelectOnWebSites Wscript.Echo "Can require source: " & colUpdates.Item(i).CanRequireSource Wscript.Echo "Deadline: " & colUpdates.Item(i).Deadline Wscript.Echo "Delta compressed content available: " & colUpdates.Item(i).DeltaCompressedContentAvailable Wscript.Echo "Delta compressed content preferred: " & colUpdates.Item(i).DeltaCompressedContentPreferred Wscript.Echo "Description: " & colUpdates.Item(i).Description Wscript.Echo "EULA accepted: " & colUpdates.Item(i).EULAAccepted Wscript.Echo "EULA text: " & colUpdates.Item(i).EULAText Wscript.Echo "Handler ID: " & colUpdates.Item(i).HandlerID Set objIdentity = colUpdates.Item(i).Identity Wscript.Echo "Revision number: " & objIdentity.RevisionNumber Wscript.Echo "Update ID: " & objIdentity.UpdateID Wscript.Echo "Is beta: " & colUpdates.Item(i).IsBeta Wscript.Echo "Is hidden: " & colUpdates.Item(i).IsHidden Wscript.Echo "Is installed: " & colUpdates.Item(i).IsInstalled Wscript.Echo "Is mandatory: " & colUpdates.Item(i).IsMandatory Wscript.Echo "Is uninstallable: " & colUpdates.Item(i).IsUninstallable Wscript.Echo "Last deployment change time: " & colUpdates.Item(i).LastDeploymentChangeTime Wscript.Echo "Maximum download size: " & colUpdates.Item(i).MaxDownloadSize Wscript.Echo "Minimum download size: " & colUpdates.Item(i).MinDownloadSize Wscript.Echo "Microsoft Security Response Center severity: " & colUpdates.Item(i).MsrcSeverity Wscript.Echo "Recommended CPU speed: " & colUpdates.Item(i).RecommendedCPUSpeed Wscript.Echo "Recommended hard disk space: " & colUpdates.Item(i).RecommendedHardDiskSpace Wscript.Echo "Recommended memory: " & colUpdates.Item(i).RecommendedMemory Wscript.Echo "Release notes: " & colUpdates.Item(i).ReleaseNotes Wscript.Echo "Support URL: " & colUpdates.Item(i).SupportURL Wscript.Echo "Type: " & colUpdates.Item(i).Type Wscript.Echo "Uninstallation notes: " & colUpdates.Item(i).UninstallationNotes Wscript.Echo "Deployment action: " & colUpdates.Item(i).DeploymentAction Wscript.Echo Next
結果はこんな感じです。
cscript "c:\\非表示された更新プログラム情報取得.vbs" Microsoft (R) Windows Script Host Version 5.8 Copyright (C) Microsoft Corporation 1996-2001. All rights reserved. Title: Microsoft PowerPoint 2013 (KB3127967) 32 ビット版 の更新プログラム Autoselect on Web sites: True Can require source: False Deadline: Delta compressed content available: False Delta compressed content preferred: True Description: Microsoft は Microsoft PowerPoint 2013 32 ビット版 用の更新プログラムをリリースしました。この更新プログラムにより、Microsoft PowerPoint 2013 32 ビット版 に最新の修正が適用されます。さらに、この更新プログラムは、安定性およびパフォーマンスが向上しています。 EULA accepted: True EULA text: Handler ID: Revision number: 200 Update ID: 52d231c1-a746-4b86-812c-e885431219c7 Is beta: False Is hidden: True Is installed: False Is mandatory: False Is uninstallable: False Last deployment change time: 2017/02/17 Maximum download size: 51325644 Minimum download size: 0 Microsoft Security Response Center severity: Recommended CPU speed: 0 Recommended hard disk space: 0 Recommended memory: 0 Release notes: Support URL: http://support.microsoft.com/?LN=ja Type: 1 Uninstallation notes: この更新プログラムを削除するには、コントロール パネルで [プログラムの追加と削除] または [プログラム と機能] を使います。更新プログラム削除の詳細については、KB903771 をご覧ください。 Deployment action: 1