LTOテープをファイルシステムとして使うLTFSについて 2018/01/04版


LTOテープをファイルシステムとして使うLTFSについて 2020/05/11版」にて内容を更新しました。


前回LTFSの現状についてまとめた記事から2年が経過した。
(「LTOテープをファイルシステムとして使うLTFSについて 2015/11/18版」)

2年経過し、LTO-8も登場。
LTFSの規格にも変化が出ているのかな?と調査してみた。


過去のLTFS関連記事
 「LTOテープをファイルシステムとして使うLTFS(2012/11/28)
 「テープ装置メーカ純正のLTFS一覧(2013/12/20更新)
 「IBM版LTFSをRHEL5で使ってみた(2013/05/20)
 「LTOテープをファイルシステムとして使うLTFSについて 2014/06/09版
 「LTOテープをファイルシステムとして使うLTFSについて 2015/11/18版


LTFSとは?

LTO-5/LTO-6からは、メディアを2つの領域に分割して利用することが可能になった。
その機能を活かし、1本のテープメディアの中に、メディア内データの管理情報と、実データを分割して保存することを可能とした。
これにより、これまで実現出来なかった、1本のテープメディアだけで可搬性のあるファイルシステム構築、というものが可能となり、その実装として、LTFS(Linear Tape File System)というのがある。

使用用途としては、バックアップ用ではなく、長期保存のためのアーカイブ用や、大容量データの持ち運び用として使用されている。

LTFSを実現するためのソフトウェアについては、基本的には、IBMが大本のベースを作り、それを各LTOドライブメーカが、自社ドライブ向けにカスタマイズして提供しているような形となっている。

LTFSのバージョン(フォーマット)

LTFSには、バージョンがいくつかあり、現状気にしなければならないのは、以下の5つ
・LTFS 1.0
・LTFS 2.0 : ファイルインデックス関連で機能をいろいろ追加
・LTFS 2.1 : 2012/05/18リリース。LTFS2.0+シンボリックリンク
・LTFS 2.2 : 2013/12/21リリース。管理情報の改良
・LTFS 2.3 : 2016/03/08リリース。各ファイルのハッシュ情報とファイル名のエンコーディングを追加
(LTFS 2.3.1が2017/05/24にリリースされてますが、LTFS 2.3のバグ修正的なものなので、省略)

「LTFSのバージョン」と「LTFSソフトウェアのバージョン」は別物なので注意が必要。
たとえば、OracleのLTFSソフトウェアは「ver1.2.7」だが、「LTFS 2.2」に対応している。

LTFS2.2対応は重要だが、LTFS2.3対応はそれほど重要ではないので、とりあえず、現行リリースされているLTFSソフトウェアはほぼLTFS2.2以降対応なので、あまり心配しなくてもよさそう。

LTFS2.3の規格書はSNIAの「Linear Tape File System (LTFS)」の「Linear Tape File System (LTFS) Format Specification」にてpdfで公開されている。

その他、いろんな情報は、LTOの規格団体の「LTFS Overview」にある。

LTFSソフトウェアの種類

LTFSの公式認証を取得しているLTFSソフトウェアについては、「LTFS Compliance Verification」にて紹介されている。

2018/01/04時点では以下の8個が登録されている。

Company Product Version LTFS Version LTO Generation Date tested
Quantum Quantum Scalar LTFS Appliance 2.0.2 2.0.1 LTO5 & 6 9/11/13
HP HP StoreOpen Standalone 2.1.0 2.1.0 LTO5 & 6 9/11/13
IBM IBM Single Drive Version 1.3.0 2.1.0 LTO5 & 6 9/11/13
IBM IBM LTFS Library Edition V1R3 2.1.0 LTO5 & 6 10/2/13
Quantum Quantum LTFS 2.1.0 2.1.0 LTO5 & 6 11/29/13
HP HP StoreOpen Automation 1.2.0 2.0.1 LTO5 & 6 11/29/13
Spectra Logic Spectra Logic Black Pearl 1.1 2.2 LTO5 & 6 9/11/15
MT-Consulting NODEUM 1.1 2.1.0 LTO5 & 6 7/05/16

2015年にSpectra Logicが追加、2016年にMT-Consultingが追加されている以外、バージョンに動きがない。しかし、実際には各LTFSソフトウェアともにバージョンアップを行っている。
なお、LTFSソフトウェアのバージョンと、対応しているLTFSフォーマットのバージョンに直接の関連性は無いので注意が必要。


各ドライブメーカが出しているLTFSソフトウェアについて

まずは、上記のリストに載っているメーカのものから。

・IBM
公式: IBM Spectrum Archive(IBM Linear Tape File System)

IBMのLTFSは「IBM Spectrum Archive」という商品名になっている。
テープベンダのSpectra Logicとは関係がないようだ。

ソフトウェアの入手は、「Fix Central」にて「製品グループ:System Storage」-「Tape Systems」-「Tape drives and software」の下にある「IBM Spectrum Archive Single Drive Edition(SDE) (旧名:LTFS Single Drive Edition)」や「IBM Spectrum Archive Library Edition(LE)(旧名:LTFS Library Edition)」「IBM Spectrum Archive Enterprise Edition(EE)」を選択して行う。
なお、LEとEEの方はアップデータのみの配布で、元になるソフトウェアについては、IBMから別途入手する必要がある。
基本的には、Single Drive Edition(SDE)が、他の全てのLTFSソフトウェアの原型になっているもの・・・という感じである。

2018/01/04時点での最新は、
IBM Spectrum Archive Enterprise Edition: ver1.2.5.0(2017/11/02) LTO-8対応/LTFS2.2まで対応
IBM Spectrum Archive Library Edition : ver2.4.0.0(2017/10/10) LTO-8対応/LTFS2.4対応
IBM Spectrum Archive Single Drive Edition: ver2.4.0.0(2017/10/10) LTO-8対応/LTFS2.4対応

IBM的にはLTFS 2.3はエンコードのバグがあるので、それを修正したものをLTFS 2.4と称している模様。

・HP
公式: HPE StoreOpen and Linear Tape File System (LTFS) Software
日本語情報: HP LTFS (Linear Tape File System)

単体ドライブ向けのみだが「日本語の導入マニュアル」が用意されている。

分社化の影響で、LTFS関連はHP Enterpriseに移籍したが、関連リンクが更新されていないので、いろんなところでリンク切れが発生している。
以前は「http://www.hp.com/go/ltfs/」といういい感じのショートカットがあったが、StoreOpenというショートカットに変わってしまった。

ソフトウェア関連は「HP StoreOpen and Linear Tape File System (LTFS) Software」からたどる事になる。

ソフトウェアの入手は、単体ドライブ向けの「HP StoreOpen Standalone」も、チェンジャー向け「HP StoreOpen Automation」も上記のページの「Get drivers, software & firmware.」から行う。

2018/01/04時点での最新は、
HP StoreOpen Standalone : ver3.2.0(2017/02/06) LTO-7まで対応
HP StoreOpen Automation : ver3.1.0(2016/07/22)
規格としてのLTFSの対応バージョンについての明記が見当たらず。

2018/02/26追記
HP StoreOpen Standalone : ver3.3.0(2018/02/05) LTO-8まで対応
「Support for SNIA 2.4」という記載もあるのでLTFS2.4にも対応している模様

・Quantum
公式: Linear Tape File System

ソフトウェア入手は上記の公式ページの「Software」タブから行う。
ソースコードについては、LTFS Open Source Filesから。

2014/06/09時点での最新は、
Linux/Mac : ver2.2.0(2015/12) LTO-7/LTFS2.2対応
Windows Model Bドライブ向け: ver3.0(2016/04) LTO-6以降という曖昧な記述のみ
Windows Model Cドライブ向け: ver2.2.1(2014/10) LTO-7/LTFS2.2対応。おそらくLinux/Mac向けと同じベース

Linux版のReleasenoteには、Quantum LTOドライブのほか、IBM LTOドライブにも対応という記述がある。

・Quantum Scalar LTFS Appliance
公式:Scalar LTFSアプライアンス

ハードウェアがセットになったアプライアンス。
これの下にFC経由などでテープチェンジャーを繋いで使うもの。

・Spectra Logic
公式:Linear Tape File System (LTFS)

LTFSを紹介するページはあるものの、LTFSを利用するソフトウェアに関するページが見当たらない。
また、バージョンもわからず。
BlackPearlというアプライアンスで、階層型ストレージとしてディスクとテープなどのストレージを組み合わせて使用する。

・MT-C NODEUM
公式:NODEUM

リストには「MT-Consulting」とあるが「MT-C」と改称した模様。
階層型ストレージとして、ディスクとテープなどを組み合わせて使用できるようにする、ソフトウェアのみを販売している?


リストに載っていない、LTFS

・TANDBERG DATA
公式: LTFS for Archive

以前は「LTFS for Big Data」という扱いだったが、「Archive」にかえたようだ。

ソフトウェアの入手は「LTFS Downloads for LTO-5/6」か「LTFS Downloads for LTO7」から行う。

2018/01/04時点での最新は
LTO-5/6向け: ver 3.0.0
LTO-7向け: ver 2.2.2

ページは英語表記だが、ドキュメントアイコンが日の丸になってるとおり、ダウンロードできるドキュメントは日本語化されている。
一部TANBERGカスタマイズが入っているようだが、基本的にはHP StoreOpen相当品。

・Oracle
公式: Oracle’s StorageTek Linear Tape File System, Open Edition
製品としてのページ: Oracle StorageTek Linear Tape File System (LTFS), Open Edition and Library Edition

ソフトウェアの入手は「https://oss.oracle.com/projects/ltfs/files/」から行う。

2018/01/04時点での最新は2015年時点と変わらず
ltfs-1.2.7(2015/10/07)

IBM LTFS 2.2.0.2とHP LTFS 2.2.1を組み合わせ、Oracle/StorageTek用の設定を入れたもの。
Oracle LTOドライブ,IBM LTOドライブ,HP LTOドライブに対応している。

Resouceページで「LTFS For Dummies」という51ページのPDFを公開しているのが興味深い。
??? For Dummiesは、アメリカで販売されているいろんな分野の初心者向け書籍シリーズ。「ダミー人形向けの」→「バカでも分かる」というものなんだけど・・・このLFS for Dummies、解説具合が微妙過ぎるなぁ・・・


LTFS関連のツール紹介

・LTOpers
公式: https://github.com/amiaopensource/ltopers
LTFSを使いやすくするためのBASHスクリプトのフロントエンドプログラム
Quantum LTFS 2.2向けで、Homebrewでインストールし、ということなので、MacOSX向けとして作られているようだが、スクリプトを読むと.linuxbrewディレクトリがあった場合の条件分岐があるので、Linuxでも使えそう。

DELL Venue 10 Pro 5055を5千円で買ってみたのでWin10を入れてみた


DELL Venue 10 Pro 5055がOS無しで4980円という話を聞いたので買ってみた。

訳あり OS無しDELL Venue 10 Pro 5055 Intel Atom Z3735F 1.33GHz メモリ2GB SSD64GB 10.1″ 無線LAN 中古 タブレット

Win10 32bitをインストールしてみて確認すると、驚きの事実が判明。

販売ページではWiFiで画面解像度が1280×800だと書いてあります。
しかし、LTEモデム内蔵、画面解像度1920×1080モデルでした。

びっくりです。

DELLサポートページを見に行くと、「Windows8 32bit」と「Windows10 32bit」の選択肢のみで、64bitはありません。

まぁ、メモリが2GBで、ストレージも64GBと少ないので、おとなしく32bitとしておきましょう。

Windows10 32bitを普通にインストールして状況を確認
そこそこ認識していないデバイスがあります

ドライバを「Venue 5055 Pro ドライバダウンロード」から入手
いろいろありますが、使ったのは下記のみ

1. Intel Chipset Driver
  5055_Chipset_Driver_M71XG_WN32_108.793.4_A01.EXE
2. Realtek ALC5672 High-Definition (HD) Audio Driver
  5055_Audio_Driver_RD3D5_WN32_6.4.10147.4339_A01.EXE
  なお、これで入れておくとあとでWindowsUpdateにおいてIntel社ロゴのドライバにアップデートされます
  (2018/01/15に再インストールしたところ、入れない状態あってもWindows Updateすれば適用されました)
3. AUO/BOE TouchPanel Firmware Update
  5055_Firmware_2F2F4_WN32_2.10.0_A00.EXE
  Firmwareアップデートだけではなくてドライバが入っているようでした。
  Firmwareアップデートが出来ていればインストールする必要は無いかもしれません。

なお、ディスプレイドライバについては、Windows Updateで適用されるやつでokでした。

予想外にも入っていたLTEモデムですが、ドコモ用なようで、IIJmioのAプラン(au)SIMをさしても接続されませんでした。
IIJmioのドコモプランだと普通に接続できたんですけどね。

2019/11/18追記

どうやらLTEモデムのfirmwareバージョンが古い場合に接続できないようです。

このため「 Dell Wireless 5810e LTE Mobile Broadband Driver 」5055_Communications_Driver_7WT55_WN32_1.0.21_A10.EXE もインストール。

再起動するとfirmwareアップデートが開始されます。

アップデート後は FIH7160_V1.2_WW_01.1616.01 になりました。(ちなみにアップデート前は FIH7160_V1.2_WW_01.1528.31 でした)

アップデート後は楽天モバイルの無料サポータープログラム(楽天回線)SIMでも接続が可能となりました。


2017/10/22追加

さて、ここからは絵描き向けパート

ワコムのペンタブという話を聞いていたのですが、よく見たらAESタイプ。
となると、メーカ純正か「Bamboo Smart for select tablets and 2-in-1 convertible devices CS320AK」「Bamboo Ink CS321AK」が安定ということで、Bamboo Inkを取り寄せてみた。

標準ドライバーの状態でも、Tablet APIを使用するCLIP STUDIOやSAI ver2は筆圧動作をきちんとしました。

しかし、SAI ver1に関しては、マイクロソフトが出しているTablet APIのみでもWinTab APIを使える様にしてくれるソフトウェア(Surface Pro 3用ドライバ群の中にある
Wintab_x32_1.0.0.20.zip,Wintab_x64_1.0.0.20.zip)を使っても筆圧を認識してくれませんでした。

ワコムUSにある「Enhanced Tablet Driver version 7.3.4-47 for Tablets, Windows devices and Bamboo Ink.」(ISD_DualTouch_7.3.4-47.exe)をインストールすることで、SAI ver1でも筆圧を認識できるようになりました。

なお、別途、DELL純正ペンも買ってみましたが、使用している電池が手に入りにくい単6(AAAAバッテリ)を1個と、入手至難なボタン電池(319型/SR527SW)を2個使う上に、バッテリーの持ち時間があまり良くないということが分かりました。
電池の交換費用を考えるとBamboo Inkを買った方が安くなりそうでした。

Windows Updateを行うためのPowerShellスクリプト



先日、PowerShellを使ってWindows Updateを行うためのスクリプトを作った。
(関連記事「PowerShellによるWindows Updateが0x80240023で失敗する(EULAの同意問題)」)

しかし、これだと、Windows Updateで重要に表示されているのに、適用されないパッチがいろいろとあった。
理由はなんだろう?と思ったら、Windows Updateの設定にある「推奨される更新プログラムについても重要な更新プログラムと同様に通知する」という設定の問題だった。
これにチェックが入っている場合は、GUI上は重要な更新プログラムとして表示されるということだった。

しかし、このGUI表示での重要な更新プログラム扱い、というのは、PowerShellで取得できる重要な更新プログラム一覧には反映されない、というものだった。

では、何で見ているのか?
PowerShellで取得できる情報上は、更新プログラムは下記の3種類に分かれていた。
・重要な更新プログラム
・推奨する更新プログラム
・オプションの更新プログラム
GUI上では、「推奨する更新プログラム」を、どちらに表示するかが切り替わっているだけであるようだった。

PowerShell上で見分けるには「AutoSelectOnWebSites」と「BrowseOnly」の値を確認することで行う。

・重要な更新プログラム
  → AutoSelectOnWebSites が $True
・推奨する更新プログラム
  → BrowseOnly が$False
・オプションの更新プログラム
  → BrowseOnly が$True

というわけで、作成したWindows Updateを行うPowerShellは下記の様な感じになりました。

実行する際につけられるオプションは下記の3つです。

重要な更新のみ適用したい場合は「-importantonly」オプション
更新のダウンロードのみをおこないたい場合は「-downloadonly」オプション
オプションの更新でも適用したいものがある場合はテキストファイル内に適用したいKB番号を書いて「-kblistfile ファイル名」と指定

# Windows UpdateをPowerShellから実行するためのスクリプト
#
param(
[String]$kblistfile="c:\tmp\kblist.txt", # 適用するオプション更新のリスト -kblistfile ファイル名
[switch]$downloadonly, # アップデートのダウンロードまでで終了するオプション -downloadonly
[switch]$importantonly # 重要な更新のみ適用する -importantonly
)

[Int]$ReturnCode=0        #終了コード

##### 実行開始 #########################
$date_msg = Get-date -Format "yyyy/MM/dd HH:mm:ss"
Write-Host ("Windows Update更新処理開始: " + $date_msg)

#### KB適用リスト読み込み ####]
[Array]$KBlist=@()    #KBリスト
if (Test-Path $kblistfile){
    $KBlist= Get-Content $kblistfile
}

#### WindowsUpdateの情報取得処理 start ####
$UpdateCollection = New-Object -ComObject Microsoft.Update.UpdateColl	#適用するWindows Update一覧で使用
$Session = New-Object -ComObject Microsoft.Update.Session				#
$Searcher = New-Object -ComObject Microsoft.Update.Searcher				#更新プログラム検索
#### WindowsUpdateの情報取得処理 end ####

Write-Host ""

#### Windows Updateによる現在のWindowsUpdate適用済み一覧を作成 start ####
$date_msg = Get-date -Format "yyyy/MM/dd HH:mm:ss"
Write-Host ("Windows Updateによる現在のWindows Update適用状況検索中 "+$date_msg)
$BeforeWUList2=($Searcher.Search("IsInstalled=1")).Updates
[Array]$BeforeWUListArray=@()
Write-Host "実施前のWindows Update適用済み一覧(Windows Update)"
$BeforeWUList2 | Select-Object Title,Description | Sort-Object Title | ForEach-Object {
    Write-Host ("  "+$_.Title)
    $BeforeWUListArray+=[string]$_.Title
}
# https://social.technet.microsoft.com/Forums/en-US/057bb7f5-d014-4374-9699-296b56e64561/win32quickfixengineering-vs-gethotfix?forum=winserverpowershell
#### Windows Updateによる現在のWindowsUpdate適用済み一覧を作成 end ####

Write-Host ""

#### インストールされていないWindows Updateの検出 start ####
$date_msg = Get-date -Format "yyyy/MM/dd HH:mm:ss"
Write-Host ("適用されていないWindows Update一覧の検索開始 "+$date_msg)
$Result = $Searcher.Search("IsInstalled=0 and Type='Software'")

Write-Host ""
Write-Host "適用されていないWindows Update一覧"
Write-Host "  * 重要な更新, o 推奨される更新"
Write-Host "  x オプションの更新でKBlistで指定されたもの, - 指定されていないオプションの更新"
Write-Host "  各行末尾のTrue/Falseはダウンロード済みであるかどうか"

[int]$countrequire=0
[int]$countrecommend=0
[int]$countoptionapply=0
[int]$countoption=0
foreach ($Updates in $Result.Updates){
    if($Updates.AutoSelectOnWebSites){
        # 重要な更新
        if($Updates.EulaAccepted -eq 0){
            $Updates.AcceptEula()
        }
        $UpdateCollection.Add($Updates) | Out-Null
        Write-Host ("* "+$Updates.KBArticleIDs+" "+$Updates.Title+" "+$Updates.IsDownloaded)
        $countrequire++
    }elseif($Updates.BrowseOnly -eq $false){
        # 推奨される更新
        if($importantonly -eq $false){
            if($Updates.EulaAccepted -eq 0){
                $Updates.AcceptEula()
            }
            $UpdateCollection.Add($Updates) | Out-Null
        }
        Write-Host ("o "+$Updates.KBArticleIDs+" "+$Updates.Title+" "+$Updates.IsDownloaded)
        $countrecommend++
    }else{
        # それ以外
        if($KBlist -contains $Updates.KBArticleIDs){
            if($Updates.EulaAccepted -eq 0){
                $Updates.AcceptEula()
            }
            $UpdateCollection.Add($Updates) | Out-Null
            Write-Host ("x "+$Updates.KBArticleIDs+" "+$Updates.Title+" "+$Updates.IsDownloaded)
            $countoptionapply++
        }else{
            Write-Host ("- "+$Updates.KBArticleIDs+" "+$Updates.Title+" "+$Updates.IsDownloaded)
            $countoption++
        }
    }
}
#### インストールされていないWindows Updateの検出 end ####

Write-Host ""
Write-Host ("  重要な更新: "+$countrequire+" 個")
Write-Host ("  推奨する更新: "+$countrecommend+" 個")
Write-Host ("  適用するオプション更新: "+$countoptionapply+" 個")
Write-Host ("  適用しないオプション更新: "+$countoption+" 個")
if($importantonly){
    Write-Host ("    → 推奨する更新は適用しません")
}

Write-Host ""

#### インストールされていないWindows Updateがあるか確認 start ####
if($UpdateCollection.Count -eq 0){
    Write-Host "適用されていないアップデートはありません"
    $date_msg = Get-date -Format "yyyy/MM/dd HH:mm:ss"
    Write-Host ("Windows Update更新処理終了: " + $date_msg)
    return 0
}
#### インストールされていないWindows Updateがあるか確認 end ####

Write-Host ""

#### インストールされていないWindows Updateのダウンロード start ####
$date_msg = Get-date -Format "yyyy/MM/dd HH:mm:ss"
Write-Host ("Windows Updateのダウンロード開始 "+$date_msg)
$Downloader = $Session.CreateUpdateDownloader()
### 分割ダウンロード
$UpdateCollection | ForEach-Object {
    $Update=$_
    $date_msg = Get-date -Format "yyyy/MM/dd HH:mm:ss"
    Write-Host ("  "+$date_msg+" "+$Update.Title)
    $UpdateToDownload = New-object -com "Microsoft.Update.UpdateColl"
    $UpdateToDownload.Add($Update) | Out-Null
    $Downloader.Updates = $UpdateToDownload
    $DownloadResult = $Downloader.Download()
    Write-Host $("      ダウンロード処理終了コード" + $DownloadResult.ResultCode)
    if($DownloadResult.ResultCode -ne 2){
        Write-Host $Error[0]
    }
    [System.Runtime.Interopservices.Marshal]::ReleaseComObject($UpdateToDownload) | Out-Null
}
# 下記のエラーがでる場合は、実行者の権限が足りません。管理者権限を与えてください
# "0" 個の引数を指定して "Download" を呼び出し中に例外が発生しました: "HRESULT からの例外: 0x80240044"
#### インストールされていないWindows Updateのダウンロード end ####

Write-Host ""

#### ダウンロードが完了していないWindows Updateがないか確認 start ####
[Array]$FailedDownload=@()
foreach ($Updates in $UpdateCollection){
    if($Updates.IsDownloaded -eq $false){
        $FailedDownload+=$Updates.Title
    }
}
if($FailedDownload){
    Write-Host "ダウンロードが完了していないWindows Update"
    $FailedDownload
    $date_msg = Get-date -Format "yyyy/MM/dd HH:mm:ss"
    Write-Host ("Windows Update更新処理異常終了: " + $date_msg)
    return 1
}

Write-Host "適用予定のWindows Updateのダウンロードが完了しました"

#### ダウンロードが完了していないWindows Updateがないか確認 end ####

if($downloadonly){
    Write-Host "-downloadonly オプションのため、ダウンロード完了で終了します"
    $date_msg = Get-date -Format "yyyy/MM/dd HH:mm:ss"
    Write-Host ("Windows Update更新処理終了: " + $date_msg)
    return 0
}

Write-Host ""

#### Windows Updateの適用実施 start ####
$date_msg = Get-date -Format "yyyy/MM/dd HH:mm:ss"
Write-Host ("Windows Updateの適用開始 "+$date_msg)
$Installer = New-Object -ComObject Microsoft.Update.Installer
$Installer.Updates = $UpdateCollection
$InstallResult = $Installer.Install()
Write-Host $("更新プログラムインストール終了コード" + $InstallResult.ResultCode)
if($InstallResult.RebootRequired){
    Write-Host "*** 再起動が必要です ***"
}
if($InstallResult.ResultCode -eq 2){
    Write-Host "すべてのアップデートが適用されました"
}elseif($InstallResult.ResultCode -eq 3){
    Write-Host "アップデート適用しましたがエラーも発生しました"
    Write-Host $Error[0]
    $ReturnCode=1
}elseif($InstallResult.ResultCode -eq 4){
    Write-Host "アップデート適用に失敗しました"
    Write-Host $Error[0]
    $ReturnCode=1
}elseif($InstallResult.ResultCode -eq 5){
    Write-Host "アップデート適用を中断しました"
    Write-Host $Error[0]
    $ReturnCode=1
}else{
    Write-Host "アップデート適用がなんらかしらの理由で失敗しました"
    Write-Host $Error[0]
    $ReturnCode=1
}
#### Windows Updateの適用実施 end ####

Write-Host ""
$date_msg = Get-date -Format "yyyy/MM/dd HH:mm:ss"
Write-Host ("実行結果出力 "+$date_msg)

#### Windows Updateによる現在のWindowsUpdate適用済み一覧を作成 start ####
$date_msg = Get-date -Format "yyyy/MM/dd HH:mm:ss"
Write-Host ("Windows Updateによる現在のWindows Update適用状況検索中 "+$date_msg)
$AfterWUList2=($Searcher.Search("IsInstalled=1")).Updates
Write-Host "実施後のWindows Update適用済み一覧(Windows Update)"
[Array]$AfterWUListArray=@()
$AfterWUList2 | Select-Object Title,Description | Sort-Object Title | ForEach-Object {
    Write-Host ("  "+$_.Title)
    $AfterWUListArray+=[string]$_.Title
}
# https://social.technet.microsoft.com/Forums/en-US/057bb7f5-d014-4374-9699-296b56e64561/win32quickfixengineering-vs-gethotfix?forum=winserverpowershell
#### Windows Updateによる現在のWindowsUpdate適用済み一覧を作成 end ####

Write-Host ""
if($InstallResult.RebootRequired){
    Write-Host "*** 再起動が必要です ***"
}

if($ReturnCode -ne 0){
    New-Item $ErrorFile -ItemType file -Value "1" | Out-Null
    $date_msg = Get-date -Format "yyyy/MM/dd HH:mm:ss"
    Write-Host ("Windows Update更新処理異常終了: " + $date_msg)
    return 1    
}

$date_msg = Get-date -Format "yyyy/MM/dd HH:mm:ss"
Write-Host ("Windows Update更新処理終了: " + $date_msg)
return 0

ちなみに、「Compare-Object $BeforeWUList2 $AfterWUList2」をベースとして、今回追加された更新一覧を出力しようとしてたのですが、差分じゃないところが出力されていたりしたので、スクリプトから削除しました・・・


Windows7における実行例

PS C:\tmp> .\powershell-windowsupdate.ps1  -importantonly
Windows Update更新処理開始: 2017/03/24 19:48:33

Windows Updateによる現在のWindows Update適用状況検索中 2017/03/24 19:48:33
実施前のWindows Update適用済み一覧(Windows Update)
  2016年 12 月 x64 用 Windows 7 および Windows Server 2008 R2 の、.NET Framework 3.5.1、4.5.2、4.6、4.6.1、4.6.2 用セキ
ュリティおよび品質ロールアップ (KB3205402)
  Definition Update for Windows Defender - KB915597 (Definition 1.239.92.0)
  Microsoft .NET Framework 3.5.1 のセキュリティ更新プログラム (x64 ベース システム用 Windows 7 および x64 ベース システ
ム用 Windows Server 2008 R2 SP1 向け) (KB2604115)
  Microsoft .NET Framework 3.5.1 のセキュリティ更新プログラム (x64 ベース システム用 Windows 7 および x64 ベース システ
ム用 Windows Server 2008 R2 SP1 向け) (KB2656356)
  Microsoft .NET Framework 3.5.1 のセキュリティ更新プログラム (x64 ベース システム用 Windows 7 および x64 ベース システ
ム用 Windows Server 2008 R2 SP1 向け) (KB2729452)
  Microsoft .NET Framework 3.5.1 のセキュリティ更新プログラム (x64 ベース システム用 Windows 7 および x64 ベース システ
ム用 Windows Server 2008 R2 SP1 向け) (KB2736422)
  Microsoft .NET Framework 3.5.1 のセキュリティ更新プログラム (x64 ベース システム用 Windows 7 および x64 ベース システ
ム用 Windows Server 2008 R2 SP1 向け) (KB2742599)
  Microsoft .NET Framework 3.5.1 のセキュリティ更新プログラム (x64 ベース システム用 Windows 7 および x64 ベース システ
ム用 Windows Server 2008 R2 SP1 向け) (KB2789645)
  Microsoft .NET Framework 3.5.1 のセキュリティ更新プログラム (x64 ベース システム用 Windows 7 および x64 ベース システ
ム用 Windows Server 2008 R2 SP1 向け) (KB2840631)
  Microsoft .NET Framework 3.5.1 のセキュリティ更新プログラム (x64 ベース システム用 Windows 7 および x64 ベース システ
ム用 Windows Server 2008 R2 SP1 向け) (KB2861698)
  Microsoft .NET Framework 3.5.1 のセキュリティ更新プログラム (x64 ベース システム用 Windows 7 および x64 ベース システ
ム用 Windows Server 2008 R2 SP1 向け) (KB2894844)
  Microsoft .NET Framework 3.5.1 のセキュリティ更新プログラム (x64 ベース システム用 Windows 7 および x64 ベース システ
ム用 Windows Server 2008 R2 SP1 向け) (KB2911501)
  Microsoft .NET Framework 3.5.1 のセキュリティ更新プログラム (x64 ベース システム用 Windows 7 および x64 ベース システ
ム用 Windows Server 2008 R2 SP1 向け) (KB2931356)
  Microsoft .NET Framework 3.5.1 のセキュリティ更新プログラム (x64 ベース システム用 Windows 7 および x64 ベース システ
ム用 Windows Server 2008 R2 SP1 向け) (KB2937610)
  Microsoft .NET Framework 3.5.1 のセキュリティ更新プログラム (x64 ベース システム用 Windows 7 および x64 ベース システ
ム用 Windows Server 2008 R2 SP1 向け) (KB2943357)
  Microsoft .NET Framework 3.5.1 のセキュリティ更新プログラム (x64 ベース システム用 Windows 7 および x64 ベース システ
ム用 Windows Server 2008 R2 SP1 向け) (KB2968294)
  Microsoft .NET Framework 3.5.1 のセキュリティ更新プログラム (x64 ベース システム用 Windows 7 および x64 ベース システ
ム用 Windows Server 2008 R2 SP1 向け) (KB2972100)
  Microsoft .NET Framework 3.5.1 のセキュリティ更新プログラム (x64 ベース システム用 Windows 7 および x64 ベース システ
ム用 Windows Server 2008 R2 SP1 向け) (KB2972211)
  Microsoft .NET Framework 3.5.1 のセキュリティ更新プログラム (x64 ベース システム用 Windows 7 および x64 ベース システ
ム用 Windows Server 2008 R2 SP1 向け) (KB2973112)
  Microsoft .NET Framework 3.5.1 のセキュリティ更新プログラム (x64 ベース システム用 Windows 7 および x64 ベース システ
ム用 Windows Server 2008 R2 SP1 向け) (KB2978120)
  Microsoft .NET Framework 3.5.1 のセキュリティ更新プログラム (x64 ベース システム用 Windows 7 および x64 ベース システ
ム用 Windows Server 2008 R2 SP1 向け) (KB3023215)
  Microsoft .NET Framework 3.5.1 のセキュリティ更新プログラム (x64 ベース システム用 Windows 7 および x64 ベース システ
ム用 Windows Server 2008 R2 SP1 向け) (KB3037574)
  Microsoft .NET Framework 3.5.1 のセキュリティ更新プログラム (x64 ベース システム用 Windows 7 および x64 ベース システ
ム用 Windows Server 2008 R2 SP1 向け) (KB3072305)
  Microsoft .NET Framework 3.5.1 のセキュリティ更新プログラム (x64 ベース システム用 Windows 7 および x64 ベース システ
ム用 Windows Server 2008 R2 SP1 向け) (KB3074543)
  Microsoft .NET Framework 3.5.1 のセキュリティ更新プログラム (x64 ベース システム用 Windows 7 および x64 ベース システ
ム用 Windows Server 2008 R2 SP1 向け) (KB3097989)
  Microsoft .NET Framework 3.5.1 のセキュリティ更新プログラム (x64 ベース システム用 Windows 7 および x64 ベース システ
ム用 Windows Server 2008 R2 SP1 向け) (KB3163245)
  Windows 7 for x64-based Systems の ActiveX Killbits に対する累積的なセキュリティ更新プログラム (KB2900986)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2479943)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2491683)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2506212)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2509553)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2560656)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2564958)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2579686)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2585542)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2620704)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2621440)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2631813)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2653956)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2654428)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2667402)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2676562)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2685939)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2690533)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2698365)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2705219)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2706045)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2727528)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2758857)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2770660)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2807986)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2813430)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2840149)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2847927)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2862152)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2862330)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2862335)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2864202)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2868038)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2871997)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2884256)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2892074)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2893294)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2957189)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2965788)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2973201)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2973351)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2977292)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2978742)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2984972)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2991963)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2992611)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3003743)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3004361)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3004375)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3010788)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3011780)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3019978)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3021674)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3022777)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3030377)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3031432)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3042553)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3045685)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3046017)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3046269)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3055642)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3059317)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3060716)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3067903)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3067904)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3071756)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3075220)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3076895)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3080446)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3084135)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3086255)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3092601)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3093513)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3101722)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3108371)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3108381)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3108664)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3108670)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3109103)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3109560)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3115858)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3123479)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3126587)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3138910)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3139398)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3139914)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3146706)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3149090)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3150220)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3155178)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3156017)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3159398)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3161949)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3161958)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3170455)
  Windows 7 for x64-Based Systems 用更新プログラム (KB2506014)
  Windows 7 for x64-Based Systems 用更新プログラム (KB2552343)
  Windows 7 for x64-Based Systems 用更新プログラム (KB2729094)
  Windows 7 for x64-Based Systems 用更新プログラム (KB2786081)
  Windows 7 for x64-Based Systems 用更新プログラム (KB2798162)
  Windows 7 for x64-Based Systems 用更新プログラム (KB2868116)
  Windows 7 for x64-Based Systems 用更新プログラム (KB2882822)
  Windows 7 for x64-Based Systems 用更新プログラム (KB2888049)
  Windows 7 for x64-Based Systems 用更新プログラム (KB2929733)
  Windows 7 for x64-Based Systems 用更新プログラム (KB3024777)
  Windows 7 for x64-Based Systems 用更新プログラム (KB3138612)
  Windows 7 for x64-Based Systems 用更新プログラム (KB3177467)
  Windows 7 x64 Edition 用プラットフォーム更新プログラム (KB2670838)
  Windows 7 および Windows Server 2008 R2 SP1 x64 の、Microsoft .NET Framework 3.5.1 用セキュリティ更新プログラム (KB312
2648)
  Windows 7 および Windows Server 2008 R2 SP1 x64 の、Microsoft .NET Framework 3.5.1 用セキュリティ更新プログラム (KB312
7220)
  Windows 7 および Windows Server 2008 R2 SP1 x64 の、Microsoft .NET Framework 3.5.1 用セキュリティ更新プログラム (KB313
5983)
  Windows 7 および Windows Server 2008 R2 SP1 x64 の、Microsoft .NET Framework 3.5.1 用セキュリティ更新プログラム (KB314
2024)
  x64 ベース システム Windows 7 用 Internet Explorer 11
  x64 ベース システム Windows 7 用 Internet Explorer 11 言語パック
  x64 ベース システムの Windows 7 および Windows Server 2008 R2 SP1 用 Microsoft .NET Framework 3.5.1 更新プログラム (KB
2836942)
  x64 ベース システムの Windows 7 および Windows Server 2008 R2 SP1 用 Microsoft .NET Framework 3.5.1 更新プログラム (KB
2836943)
  x64 ベース システム用 Windows 7 Service Pack 1 (KB976932)
  悪意のあるソフトウェアの削除ツール x64 - 2017 年 3 月 (KB890830)
  日本語パック - x64 ベース システム用の Windows 7 Service Pack 1 (KB2483139)

適用されていないWindows Update一覧の検索開始 2017/03/24 19:50:44

適用されていないWindows Update一覧
  * 重要な更新, o 推奨される更新
  x オプションの更新でKBlistで指定されたもの, - 指定されていないオプションの更新
  各行末尾のTrue/Falseはダウンロード済みであるかどうか
- 2483139 ラトビア語パック - x64 ベース システム用の Windows 7 Service Pack 1 (KB2483139) False
- 2483139 チェコ語パック - x64 ベース システム用の Windows 7 Service Pack 1 (KB2483139) False
- 2483139 ロシア語パック - x64 ベース システム用の Windows 7 Service Pack 1 (KB2483139) False
- 2483139 英語パック - x64 ベース システム用の Windows 7 Service Pack 1 (KB2483139) False
- 2483139 デンマーク語パック - x64 ベース システム用の Windows 7 Service Pack 1 (KB2483139) False
- 2483139 イタリア語パック - x64 ベース システム用の Windows 7 Service Pack 1 (KB2483139) False
- 2483139 ハンガリー語パック - x64 ベース システム用の Windows 7 Service Pack 1 (KB2483139) False
- 2483139 韓国語パック - x64 ベース システム用の Windows 7 Service Pack 1 (KB2483139) False
- 2483139 スウェーデン語パック - x64 ベース システム用の Windows 7 Service Pack 1 (KB2483139) False
- 2483139 ポーランド語パック - x64 ベース システム用の Windows 7 Service Pack 1 (KB2483139) False
- 2483139 クロアチア語パック - x64 ベース システム用の Windows 7 Service Pack 1 (KB2483139) False
- 2483139 ウクライナ語パック - x64 ベース システム用の Windows 7 Service Pack 1 (KB2483139) False
- 2483139 ノルウェー語パック - x64 ベース システム用の Windows 7 Service Pack 1 (KB2483139) False
- 2483139 ギリシャ語パック - x64 ベース システム用の Windows 7 Service Pack 1 (KB2483139) False
- 2483139 ブルガリア語パック - x64 ベース システム用の Windows 7 Service Pack 1 (KB2483139) False
- 2483139 ポルトガル語 (ポルトガル) パック - x64 ベース システム用の Windows 7 Service Pack 1 (KB2483139) False
- 2483139 オランダ語パック - x64 ベース システム用の Windows 7 Service Pack 1 (KB2483139) False
- 2483139 ポルトガル語 (ブラジル) パック - x64 ベース システム用の Windows 7 Service Pack 1 (KB2483139) False
- 2483139 スペイン語パック - x64 ベース システム用の Windows 7 Service Pack 1 (KB2483139) False
- 2483139 中国語 (簡体字) パック - x64 ベース システム用の Windows 7 Service Pack 1 (KB2483139) False
- 2483139 スロベニア語パック - x64 ベース システム用の Windows 7 Service Pack 1 (KB2483139) False
- 2483139 中国語 (繁体字) パック - x64 ベース システム用の Windows 7 Service Pack 1 (KB2483139) False
- 2483139 タイ語パック - x64 ベース システム用の Windows 7 Service Pack 1 (KB2483139) False
- 2483139 ドイツ語パック - x64 ベース システム用の Windows 7 Service Pack 1 (KB2483139) False
- 2483139 エストニア語パック - x64 ベース システム用の Windows 7 Service Pack 1 (KB2483139) False
- 2483139 リトアニア語パック - x64 ベース システム用の Windows 7 Service Pack 1 (KB2483139) False
- 2483139 スロバキア語パック - x64 ベース システム用の Windows 7 Service Pack 1 (KB2483139) False
- 2483139 フィンランド語パック - x64 ベース システム用の Windows 7 Service Pack 1 (KB2483139) False
- 2483139 アラビア語パック - x64 ベース システム用の Windows 7 Service Pack 1 (KB2483139) False
- 2483139 ヘブライ語パック - x64 ベース システム用の Windows 7 Service Pack 1 (KB2483139) False
- 2483139 セルビア語 (ラテン) パック - x64 ベース システム用の Windows 7 Service Pack 1 (KB2483139) False
- 2483139 ルーマニア語パック - x64 ベース システム用の Windows 7 Service Pack 1 (KB2483139) False
- 2483139 フランス語パック - x64 ベース システム用の Windows 7 Service Pack 1 (KB2483139) False
- 2483139 トルコ語パック - x64 ベース システム用の Windows 7 Service Pack 1 (KB2483139) False
o 982018 Windows 7 for x64-Based Systems 用更新プログラム (KB982018) False
o 982670 Windows 7 x64-based Systems 用の Microsoft .NET Framework 4 Client Profile (KB982670) True
o 2719857 Windows 7 for x64-Based Systems 用更新プログラム (KB2719857) True
o 2732059 Windows 7 for x64-Based Systems 用更新プログラム (KB2732059) True
o 2732487 Windows 7 for x64-Based Systems 用更新プログラム (KB2732487) False
o 2750841 Windows 7 for x64-Based Systems 用更新プログラム (KB2750841) True
o 2763523 Windows 7 for x64-Based Systems 用更新プログラム (KB2763523) True
o 2791765 Windows 7 for x64-Based Systems 用更新プログラム (KB2791765) True
- 2574819 Windows 7 for x64-Based Systems 用更新プログラム (KB2574819) False
- 2592687 Windows 7 for x64-Based Systems 用更新プログラム (KB2592687) False
o 2853952 Windows 7 for x64-Based Systems 用更新プログラム (KB2853952) True
o 2852386 Windows 7 for x64-Based Systems 用更新プログラム (KB2852386) True
o 2834140 Windows 7 for x64-Based Systems 用更新プログラム (KB2834140) True
o 2808679 Windows 7 for x64-Based Systems 用更新プログラム (KB2808679) True
o 2893519 Windows 7 for x64-Based Systems 用更新プログラム (KB2893519) True
o 2891804 Windows 7 for x64-Based Systems 用更新プログラム (KB2891804) True
* 2912390 Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2912390) True
- 2830477 Windows 7 for x64-Based Systems 用更新プログラム (KB2830477) False
o 2843630 Windows 7 for x64-Based Systems 用更新プログラム (KB2843630) True
o 2919469 Windows 7 for x64-Based Systems 用更新プログラム (KB2919469) True
o 2918077 Windows 7 for x64-Based Systems 用更新プログラム (KB2918077) True
o 2908783 Windows 7 for x64-Based Systems 用更新プログラム (KB2908783) True
o 2800095 Windows 7 for x64-Based Systems 用更新プログラム (KB2800095) True
o 2966583 Windows 7 for x64-Based Systems 用更新プログラム (KB2966583) True
o 2640148 Windows 7 for x64-Based Systems 用更新プログラム (KB2640148) True
o 2685813 x64 ベース システム Windows 7 用ユーザー モード ドライバー フレームワーク (バージョン 1.11) の更新プログラム (
KB2685813) True
o 2603229 Windows 7 for x64-Based Systems 用更新プログラム (KB2603229) True
o 2547666 Windows 7 for x64-Based Systems 用更新プログラム (KB2547666) True
o 2726535 Windows 7 for x64-Based Systems 用更新プログラム (KB2726535) True
o 2506928 Windows 7 for x64-Based Systems 用更新プログラム (KB2506928) True
o 2660075 Windows 7 for x64-Based Systems 用更新プログラム (KB2660075) True
* 2532531 Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2532531) True
o 2545698 Windows 7 for x64-Based Systems 用更新プログラム (KB2545698) True
o 2773072 Windows 7 for x64-Based Systems 用更新プログラム (KB2773072) True
o 2563227 Windows 7 for x64-Based Systems 用更新プログラム (KB2563227) True
o 2761217 Windows 7 for x64-Based Systems 用更新プログラム (KB2761217) True
o 2799926 Windows 7 for x64-Based Systems 用更新プログラム (KB2799926) True
o 2985461 Windows 7 for x64-Based Systems 用更新プログラム (KB2985461) True
o 2685811 x64 ベース システム Windows 7 用カーネル モード ドライバー フレームワーク (バージョン 1.11) の更新プログラム (
KB2685811) True
o 3006121 Windows 7 for x64-Based Systems 用更新プログラム (KB3006121) True
o 2901983 x64 ベース システム Windows 7 用の Microsoft .NET Framework 4.5.2 (KB2901983) True
o 3021917 Windows 7 for x64-Based Systems 用更新プログラム (KB3021917) True
o 3006137 Windows 7 for x64-Based Systems 用更新プログラム (KB3006137) True
* 3035132 Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3035132) True
* 3035126 Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3035126) True
o 3013531 Windows 7 for x64-Based Systems 用更新プログラム (KB3013531) True
o 3020370 Windows 7 for x64-Based Systems 用更新プログラム (KB3020370) True
o 3054476 Windows 7 for x64-Based Systems 用更新プログラム (KB3054476) True
o 3068708 Windows 7 for x64-Based Systems 用更新プログラム (KB3068708) True
* 3078601 Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3078601) True
o 3092627 Windows 7 for x64-Based Systems 用更新プログラム (KB3092627) True
o 3078667 Windows 7 for x64-Based Systems 用更新プログラム (KB3078667) True
o 3080149 Windows 7 for x64-Based Systems 用更新プログラム (KB3080149) True
- 3080079 Windows 7 for x64-Based Systems 用更新プログラム (KB3080079) False
o 3107998 Windows 7 for x64-Based Systems 用更新プログラム (KB3107998) True
* 3110329 Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3110329) True
- 3102429 Windows 7 for x64-Based Systems 用更新プログラム (KB3102429) False
o 3118401 Windows 7 for x64-Based Systems 用更新プログラム (KB3118401) True
o 3121255 Windows 7 for x64-Based Systems 用更新プログラム (KB3121255) True
o 3147071 Windows 7 for x64-Based Systems 用更新プログラム (KB3147071) True
o 3137061 Windows 7 for x64-Based Systems 用更新プログラム (KB3137061) True
o 3138901 Windows 7 for x64-Based Systems 用更新プログラム (KB3138901) True
o 3133977 Windows 7 for x64-Based Systems 用更新プログラム (KB3133977) True
o 3138378 Windows 7 for x64-Based Systems 用更新プログラム (KB3138378) True
* 3156016 Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3156016) True
* 3156019 Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3156019) True
o 3140245 Windows 7 for x64-Based Systems 用更新プログラム (KB3140245) True
o 3170735 Windows 7 for x64-Based Systems 用更新プログラム (KB3170735) True
o 3161102 Windows 7 for x64-Based Systems 用更新プログラム (KB3161102) True
o 3172605 Windows 7 for x64-Based Systems 用更新プログラム (KB3172605) True
o 3179573 Windows 7 for x64-Based Systems 用更新プログラム (KB3179573) True
o 3181988 Windows 7 for x64-Based Systems 用更新プログラム (KB3181988) True
o 3184143 Windows 7 for x64-Based Systems 用更新プログラム (KB3184143) True
o 3102433 Windows 7 x64 用 Microsoft .NET Framework 4.6.1 (KB3102433) True
* 4012215 2017 年 3 月 x64 ベース システム用 Windows 7 向けセキュリティ マンスリー品質ロールアップ (KB4012215) True
o 2952664 Windows 7 for x64-Based Systems 用更新プログラム (KB2952664) True
- 4012218 2017 年 3 月 x64 ベース システム用 Windows 7 向けマンスリー品質ロールアップのプレビュー (KB4012218) False

  重要な更新: 9 個
  推奨する更新: 62 個
  適用するオプション更新: 0 個
  適用しないオプション更新: 40 個
    → 推奨する更新は適用しません


Windows Updateのダウンロード開始 2017/03/24 19:51:19

適用予定のWindows Updateのダウンロードが完了しました

Windows Updateの適用開始 2017/03/24 19:51:43
更新プログラムインストール終了コード2
*** 再起動が必要です ***
すべてのアップデートが適用されました

実行結果出力 2017/03/24 19:52:41
Windows Updateによる現在のWindows Update適用状況検索中 2017/03/24 19:52:41
実施後のWindows Update適用済み一覧(Windows Update)
  2016年 12 月 x64 用 Windows 7 および Windows Server 2008 R2 の、.NET Framework 3.5.1、4.5.2、4.6、4.6.1、4.6.2 用セキ
ュリティおよび品質ロールアップ (KB3205402)
  2017 年 3 月 x64 ベース システム用 Windows 7 向けセキュリティ マンスリー品質ロールアップ (KB4012215)
  Definition Update for Windows Defender - KB915597 (Definition 1.239.92.0)
  Microsoft .NET Framework 3.5.1 のセキュリティ更新プログラム (x64 ベース システム用 Windows 7 および x64 ベース システ
ム用 Windows Server 2008 R2 SP1 向け) (KB2604115)
  Microsoft .NET Framework 3.5.1 のセキュリティ更新プログラム (x64 ベース システム用 Windows 7 および x64 ベース システ
ム用 Windows Server 2008 R2 SP1 向け) (KB2656356)
  Microsoft .NET Framework 3.5.1 のセキュリティ更新プログラム (x64 ベース システム用 Windows 7 および x64 ベース システ
ム用 Windows Server 2008 R2 SP1 向け) (KB2729452)
  Microsoft .NET Framework 3.5.1 のセキュリティ更新プログラム (x64 ベース システム用 Windows 7 および x64 ベース システ
ム用 Windows Server 2008 R2 SP1 向け) (KB2736422)
  Microsoft .NET Framework 3.5.1 のセキュリティ更新プログラム (x64 ベース システム用 Windows 7 および x64 ベース システ
ム用 Windows Server 2008 R2 SP1 向け) (KB2742599)
  Microsoft .NET Framework 3.5.1 のセキュリティ更新プログラム (x64 ベース システム用 Windows 7 および x64 ベース システ
ム用 Windows Server 2008 R2 SP1 向け) (KB2789645)
  Microsoft .NET Framework 3.5.1 のセキュリティ更新プログラム (x64 ベース システム用 Windows 7 および x64 ベース システ
ム用 Windows Server 2008 R2 SP1 向け) (KB2840631)
  Microsoft .NET Framework 3.5.1 のセキュリティ更新プログラム (x64 ベース システム用 Windows 7 および x64 ベース システ
ム用 Windows Server 2008 R2 SP1 向け) (KB2861698)
  Microsoft .NET Framework 3.5.1 のセキュリティ更新プログラム (x64 ベース システム用 Windows 7 および x64 ベース システ
ム用 Windows Server 2008 R2 SP1 向け) (KB2894844)
  Microsoft .NET Framework 3.5.1 のセキュリティ更新プログラム (x64 ベース システム用 Windows 7 および x64 ベース システ
ム用 Windows Server 2008 R2 SP1 向け) (KB2911501)
  Microsoft .NET Framework 3.5.1 のセキュリティ更新プログラム (x64 ベース システム用 Windows 7 および x64 ベース システ
ム用 Windows Server 2008 R2 SP1 向け) (KB2931356)
  Microsoft .NET Framework 3.5.1 のセキュリティ更新プログラム (x64 ベース システム用 Windows 7 および x64 ベース システ
ム用 Windows Server 2008 R2 SP1 向け) (KB2937610)
  Microsoft .NET Framework 3.5.1 のセキュリティ更新プログラム (x64 ベース システム用 Windows 7 および x64 ベース システ
ム用 Windows Server 2008 R2 SP1 向け) (KB2943357)
  Microsoft .NET Framework 3.5.1 のセキュリティ更新プログラム (x64 ベース システム用 Windows 7 および x64 ベース システ
ム用 Windows Server 2008 R2 SP1 向け) (KB2968294)
  Microsoft .NET Framework 3.5.1 のセキュリティ更新プログラム (x64 ベース システム用 Windows 7 および x64 ベース システ
ム用 Windows Server 2008 R2 SP1 向け) (KB2972100)
  Microsoft .NET Framework 3.5.1 のセキュリティ更新プログラム (x64 ベース システム用 Windows 7 および x64 ベース システ
ム用 Windows Server 2008 R2 SP1 向け) (KB2972211)
  Microsoft .NET Framework 3.5.1 のセキュリティ更新プログラム (x64 ベース システム用 Windows 7 および x64 ベース システ
ム用 Windows Server 2008 R2 SP1 向け) (KB2973112)
  Microsoft .NET Framework 3.5.1 のセキュリティ更新プログラム (x64 ベース システム用 Windows 7 および x64 ベース システ
ム用 Windows Server 2008 R2 SP1 向け) (KB2978120)
  Microsoft .NET Framework 3.5.1 のセキュリティ更新プログラム (x64 ベース システム用 Windows 7 および x64 ベース システ
ム用 Windows Server 2008 R2 SP1 向け) (KB3023215)
  Microsoft .NET Framework 3.5.1 のセキュリティ更新プログラム (x64 ベース システム用 Windows 7 および x64 ベース システ
ム用 Windows Server 2008 R2 SP1 向け) (KB3037574)
  Microsoft .NET Framework 3.5.1 のセキュリティ更新プログラム (x64 ベース システム用 Windows 7 および x64 ベース システ
ム用 Windows Server 2008 R2 SP1 向け) (KB3072305)
  Microsoft .NET Framework 3.5.1 のセキュリティ更新プログラム (x64 ベース システム用 Windows 7 および x64 ベース システ
ム用 Windows Server 2008 R2 SP1 向け) (KB3074543)
  Microsoft .NET Framework 3.5.1 のセキュリティ更新プログラム (x64 ベース システム用 Windows 7 および x64 ベース システ
ム用 Windows Server 2008 R2 SP1 向け) (KB3097989)
  Microsoft .NET Framework 3.5.1 のセキュリティ更新プログラム (x64 ベース システム用 Windows 7 および x64 ベース システ
ム用 Windows Server 2008 R2 SP1 向け) (KB3163245)
  Windows 7 for x64-based Systems の ActiveX Killbits に対する累積的なセキュリティ更新プログラム (KB2900986)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2479943)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2491683)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2506212)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2509553)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2532531)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2560656)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2564958)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2579686)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2585542)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2620704)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2621440)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2631813)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2653956)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2654428)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2667402)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2676562)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2685939)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2690533)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2698365)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2705219)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2706045)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2727528)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2758857)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2770660)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2807986)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2813430)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2840149)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2847927)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2862152)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2862330)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2862335)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2864202)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2868038)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2871997)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2884256)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2892074)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2893294)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2912390)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2957189)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2965788)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2973201)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2973351)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2977292)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2978742)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2984972)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2991963)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB2992611)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3003743)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3004361)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3004375)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3010788)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3011780)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3019978)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3021674)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3022777)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3030377)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3031432)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3035126)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3035132)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3042553)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3045685)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3046017)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3046269)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3055642)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3059317)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3060716)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3067903)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3067904)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3071756)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3075220)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3076895)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3078601)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3080446)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3084135)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3086255)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3092601)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3093513)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3101722)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3108371)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3108381)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3108664)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3108670)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3109103)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3109560)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3110329)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3115858)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3123479)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3126587)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3138910)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3139398)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3139914)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3146706)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3149090)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3150220)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3155178)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3156016)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3156017)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3156019)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3159398)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3161949)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3161958)
  Windows 7 for x64-Based Systems 用セキュリティ更新プログラム (KB3170455)
  Windows 7 for x64-Based Systems 用更新プログラム (KB2506014)
  Windows 7 for x64-Based Systems 用更新プログラム (KB2552343)
  Windows 7 for x64-Based Systems 用更新プログラム (KB2729094)
  Windows 7 for x64-Based Systems 用更新プログラム (KB2786081)
  Windows 7 for x64-Based Systems 用更新プログラム (KB2798162)
  Windows 7 for x64-Based Systems 用更新プログラム (KB2868116)
  Windows 7 for x64-Based Systems 用更新プログラム (KB2882822)
  Windows 7 for x64-Based Systems 用更新プログラム (KB2888049)
  Windows 7 for x64-Based Systems 用更新プログラム (KB2929733)
  Windows 7 for x64-Based Systems 用更新プログラム (KB3024777)
  Windows 7 for x64-Based Systems 用更新プログラム (KB3138612)
  Windows 7 for x64-Based Systems 用更新プログラム (KB3177467)
  Windows 7 x64 Edition 用プラットフォーム更新プログラム (KB2670838)
  Windows 7 および Windows Server 2008 R2 SP1 x64 の、Microsoft .NET Framework 3.5.1 用セキュリティ更新プログラム (KB312
2648)
  Windows 7 および Windows Server 2008 R2 SP1 x64 の、Microsoft .NET Framework 3.5.1 用セキュリティ更新プログラム (KB312
7220)
  Windows 7 および Windows Server 2008 R2 SP1 x64 の、Microsoft .NET Framework 3.5.1 用セキュリティ更新プログラム (KB313
5983)
  Windows 7 および Windows Server 2008 R2 SP1 x64 の、Microsoft .NET Framework 3.5.1 用セキュリティ更新プログラム (KB314
2024)
  x64 ベース システム Windows 7 用 Internet Explorer 11
  x64 ベース システム Windows 7 用 Internet Explorer 11 言語パック
  x64 ベース システムの Windows 7 および Windows Server 2008 R2 SP1 用 Microsoft .NET Framework 3.5.1 更新プログラム (KB
2836942)
  x64 ベース システムの Windows 7 および Windows Server 2008 R2 SP1 用 Microsoft .NET Framework 3.5.1 更新プログラム (KB
2836943)
  x64 ベース システム用 Windows 7 Service Pack 1 (KB976932)
  悪意のあるソフトウェアの削除ツール x64 - 2017 年 3 月 (KB890830)
  日本語パック - x64 ベース システム用の Windows 7 Service Pack 1 (KB2483139)


*** 再起動が必要です ***
Windows Update更新処理終了: 2017/03/24 20:05:42
0
PS C:\tmp>

PowerShellによるWindows Updateが0x80240023で失敗する(EULAの同意問題)



PowerShellを使って、Windows Updateを行うスクリプトを作成中。

実物はいろんな細かい細工をしているので、似たようなものを作成すると下記のようなものとなる。

$UpdateCollection = New-Object -ComObject Microsoft.Update.UpdateColl
$Session = New-Object -ComObject Microsoft.Update.Session
$Searcher = New-Object -ComObject Microsoft.Update.Searcher
$Result = $Searcher.Search("IsInstalled=0 and Type='Software'")
foreach( $Update in $Result.Updates){
    if($Update.AutoSelectOnWebSites -eq $true){
        $UpdateCollection.Add($Update) | Out-Null
    }
}

$Downloader = $Session.CreateUpdateDownloader()
$Downloader.Updates = $UpdateCollection
$DownloadResult = $Downloader.Download()

$Installer = New-Object -ComObject Microsoft.Update.Installer
$Installer.Updates = $UpdateCollection
$InstallerResult = $Installer.Install()

これをWindows7環境で実験を行った。

まず、最初は下記のエラーが出力された。

"0" 個の引数を指定して "Download" を呼び出し中に例外が発生しました: "HRESULT からの例外: 0x80240044"

これは、スクリプトを管理者権限を持たずに実行していたためで、管理者権限を与えることで回避できた。

スクリプトを実行し再起動、ということを何回か行った後、最後の1つになったところで、以下のエラーが出力された。

"0" 個の引数を指定して "Install" を呼び出し中に例外が発生しました: "HRESULT からの例外: 0x80240023"

この「0x80240023」というものは「WU_E_EULAS_DECLINED」というエラー。

適用に失敗したものは「悪意のあるソフトウェアの削除ツール x64 – 2017 年 3月 (KB890830)」

そうです。
手動で適用しようとするとライセンスの同意画面が出てくるやつです。

で・・・探してたら「Windows Update PowerShell Module」というPowerShellでWindows Updateを行うためのモジュールが・・・
ヒントを探してみるとありました。

「$Update.EulaAccepted」が0だったら「$Update.AcceptEula() 」を実行、と

というわけで、修正したものが下記になります。

$UpdateCollection = New-Object -ComObject Microsoft.Update.UpdateColl
$Session = New-Object -ComObject Microsoft.Update.Session
$Searcher = New-Object -ComObject Microsoft.Update.Searcher
$Result = $Searcher.Search("IsInstalled=0 and Type='Software'")
foreach( $Update in $Result.Updates){
    if($Update.AutoSelectOnWebSites -eq $true){
        if($Update.EulaAccepted -eq 0){
            $Update.AcceptEula()
        }
        $UpdateCollection.Add($Update) | Out-Null
    }
}

$Downloader = $Session.CreateUpdateDownloader()
$Downloader.Updates = $UpdateCollection
$DownloadResult = $Downloader.Download()

$Installer = New-Object -ComObject Microsoft.Update.Installer
$Installer.Updates = $UpdateCollection
$InstallerResult = $Installer.Install()

(2018/02/05追記)
なお、この記事は同意が必要なものについての対応法だけを記載しています。
普通にWindows Updateを行おうとした場合、ここに書いてあるものだけ適用されないパッチがあります。
そのため「Windows Updateを行うためのPowerShellスクリプト」という記事で詳細を記載しています。

GPD Pocketのクラウドファンディングが開始されたので投資してみた



GPD社による、クラウドファンディングPCの第2弾。GPD Pocketが、先ほどより開始されました。

GPD Winの時は、国内最速クラスでネタにしていたけど、タイミングが悪くてクラウドファンディングに参加出来なかったけど、今回は大丈夫だったぜ!

当時の発言、twitter社により検索除外されちゃってるから、ここで再掲載しておくか・・・