Home > Windows にまつわる e.t.c.

フルオートでWindows Updateする


新規構築した Windows 環境に対して Windows Update するのは、何度も再起動が必要なので手間がかかります。

でも、この PowerShell スクリプトを使うと、再起動が不要になるまで Windows Update と再起動を自動で繰り返すので、放置しておけば Windows Update が完了するという手間いらず !!

スクリプトの実行ログは C:\WU_Log に出力されます。

動作環境は Windows 7 / Windows Server 2008 R2 以降です。

 

使い方

C:\WindowsUpdate を作成し、スクリプト(AutoWindowsUpdate.ps1)を置いて管理権限で実行します。
引数に「 Full 」を与えると全ての更新を適用し、引数なしだと重要な更新のみを適用します。

C:\WindowsUpdate\AutoWindowsUpdate.ps1 Full

 

実行ログに "=-=-=-=-=- Windows Update finished -=-=-=-=-=" が出力されるまで放置します(環境にもよりますが Windows Server 2012 R2 Update 1 の初 Full で 3 時間くらい)
そのまま使っていると、予告もなく再起動が入るので危険です。

以下スクリプトを PowerShell プロンプトにコピペすれば最新の Windows Update 実行ログのラスト10行が表示されるので、テキストエディタでログ開かなくても簡単に確認できます。

$NewestLog = dir C:\WU_Log\*.log | sort LastWriteTime -Descending | Select -First 1
Get-Content $NewestLog.FullName | Select -Last 10

 

会話式の更新(Windows Defenderのパターンファイルとか)は更新が適用されないので、最後に手動 Windows Update する必要がありますが、これは短時間で終わります。

Windows Server の場合、役割/機能を追加すると更新が増えるので、環境構築完了後に Windows Update することをお勧めします。

 

スクリプトのダウンロード

PowerShell プロンプトで以下スクリプトを実行すればダウンロードできます
(後述のリポジトリから Clone するのがおすすめ)

if(-not (Test-Path C:\WindowsUpdate)){ md C:\WindowsUpdate }
Invoke-WebRequest https://raw.githubusercontent.com/MuraAtVwnet/WindowsUpdate/master/AutoWindowsUpdate.ps1 -OutFile C:\WindowsUpdate\AutoWindowsUpdate.ps1

 

スクリプトダウンロードと Windows Update を一気にするのなら、以下スクリプトを管理権限 PowerShell プロンプトにコピペします。

if(-not (Test-Path C:\WindowsUpdate)){ md C:\WindowsUpdate }
Invoke-WebRequest https://raw.githubusercontent.com/MuraAtVwnet/WindowsUpdate/master/AutoWindowsUpdate.ps1 -OutFile C:\WindowsUpdate\AutoWindowsUpdate.ps1
C:\WindowsUpdate\AutoWindowsUpdate.ps1 full

 

既知の問題と対策

30分以上待っても処理が進まない事があります。この対策は、Windows Update クライアントを更新すると改善します。
(Windows Update クライアントは、Windows Update で配布されるのですが、初めての Windows Update だとこれが古いままなので手動で最新に更新します)

Windows Update クライアントは以下キーワードで検索して最新版をダウンロードします。

Windows Update クライアント site:support.microsoft.com

 

ちなみに、これを書いているときの最新は以下の KB です。

Windows 7 および Windows Server 2008 R2 用 Windows Update クライアント: 2016 年 3 月
https://support.microsoft.com/ja-jp/kb/3138612

Windows Update Client for Windows 8.1 and Windows Server 2012 R2: February 2016
https://support.microsoft.com/ja-jp/kb/3135449

 

最新版

その他補助ツールも含んだ最新版フルセットは以下リポジトリで公開していますので、Sourcetree 等の Git Client で Clone してください。

git@github.com:MuraAtVwnet/WindowsUpdate.git

https://github.com/MuraAtVwnet/WindowsUpdate

 

フルセットには以下の補助スクリプトが含まれています。

・毎日指定時刻に Windows Update を実行するスケジュールを登録
・毎月一度 Windows Update 日 + ディレイ日に Windows Update を実行するスケジュールを登録
・PowerShell プロンプトを開きっぱなしにしておく必要をなくす Windows Update 投入
・詳細説明(Readme.txt)

 

関連情報

Windows Server 2016 インストール メディア に KB を適用する
http://www.vwnet.jp/Windows/WS16/2016101001/OfflineKBInstall4InstallISO.htm

 

 

back.gif (1980 バイト)

home.gif (1907 バイト)

Copyright © MURA All rights reserved.