「WindowsUpdateHistory.vbs」 の PowerShell 版「WindowsUpdateHistory.ps1」。詳細表示オプション(.vbs の /D オプション)の機能は省略。過去1か月については失敗およびエラーコード表示付きで。
ついでに、「再起動の保留中」(HResult = -2145116140) 状態も報告。.vbs 版は保留中を「失敗」と表示しますが、再起動後は「成功」になります。
[WindowsUpdateHistory.ps1]
$objSession = new-object -com "Microsoft.Update.Session"
$objSearcher = $objSession.CreateupdateSearcher()
$intCount = $objSearcher.GetTotalHistoryCount()
$colHistory = $objSearcher.QueryHistory(0, $intCount)
foreach ($objHistory in $colHistory)
{
if ($objHistory.HResult -eq 0) {
Write-Host (($objHistory.Date).AddHours(9)).ToString("yyyy/MM/dd hh:mm") $objHistory.Title "- 成功"
} elseif ($objHistory.HResult -eq -2145116140) {
Write-Host (($objHistory.Date).AddHours(9)).ToString("yyyy/MM/dd hh:mm") $objHistory.Title "- 再起動の保留中"
} else {
# 過去 1 か月のエラーは表示
if (($objHistory.Date).AddMonths(1) -gt (Get-Date).AddHours(-9)) {
Write-Host (($objHistory.Date).AddHours(9)).ToString("yyyy/MM/dd hh:mm") $objHistory.Title "- 失敗 (エラー:"$objHistory.HResult.ToString("X8")")"
}
}
}
$objSearcher = $objSession.CreateupdateSearcher()
$intCount = $objSearcher.GetTotalHistoryCount()
$colHistory = $objSearcher.QueryHistory(0, $intCount)
foreach ($objHistory in $colHistory)
{
if ($objHistory.HResult -eq 0) {
Write-Host (($objHistory.Date).AddHours(9)).ToString("yyyy/MM/dd hh:mm") $objHistory.Title "- 成功"
} elseif ($objHistory.HResult -eq -2145116140) {
Write-Host (($objHistory.Date).AddHours(9)).ToString("yyyy/MM/dd hh:mm") $objHistory.Title "- 再起動の保留中"
} else {
# 過去 1 か月のエラーは表示
if (($objHistory.Date).AddMonths(1) -gt (Get-Date).AddHours(-9)) {
Write-Host (($objHistory.Date).AddHours(9)).ToString("yyyy/MM/dd hh:mm") $objHistory.Title "- 失敗 (エラー:"$objHistory.HResult.ToString("X8")")"
}
}
}
実行結果はこんな感じ。
...
2019/03/07 05:21 2019-02 x64 ベース システム用 Windows 10 Version 1809 の累積更新プログラム (KB4482887) - 成功
2019/03/07 05:06 2019-02 .NET Framework 3.5 および 4.7.2 の累積的な更新プログラム (x64 向け Windows 10 Version 1809 用) (KB4486553) - 成功
2019/03/06 02:04 9MZ95KL8MR0L-Microsoft.ScreenSketch - 失敗(エラー: 80240034 )
2019/02/26 09:53 9WZDNCRFJ3PZ-Microsoft.CompanyPortal - 失敗(エラー: 80240034 )
2019/02/13 06:05 2019-02 x64 ベース システム用 Windows 10 Version 1809 の累積更新プログラム (KB4487044) - 成功
...
WindowsUpdateProvider 版の「SearchAndInstallUpdates.ps1」↓とあわせて、Server Core 環境にどうぞ。メッセージ英語 & UTC 時刻版はこちら↓で公開。
Script Center > Show Windows Update History by PowerShell
関連:
『Windowsトラブル解決コマンド&テクニック集』のスクリプト #2 (2019/02/12)
Windows Scripting: Windows Update をスクリプトから(WindowsUpdateProvider 版) (2018/12/13)
『Windowsトラブル解決コマンド&テクニック集』のスクリプト (2018/10/23)
ITプロフェッショナル向け
Windowsトラブル解決コマンド&テクニック集
価格 2,700円(税込)
ISBN 978-4-8222-5381-3
発行日 2018年10月16日
著者名 山内 和朗(山市 良) 著
発行社 日経BP社
判型等 B5変/264ページ
日経BPブックナビ
https://www.nikkeibp.co.jp/atclpubmkt/book/18/P53810/
オンラインストア
amazon.co.jp | Rakutenブックス
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。