新規構築した 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
Copyright © MURA All rights reserved.