SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

Windows Server 2012 R2 に August 2014 Update を適用

leave a comment

以前からアナウンスされていましたが、本日 Windows 8.1 / Windows Server 2012 R2 に August Update が提供されました。
August 2014 update rollup for Windows RT 8.1, Windows 8.1, and Windows Server 2012 R2

モジュールは以下からダウンロードできます。
# 8.1 x64 と 2012 R2 は同じモジュールがダウンロードできるようですが。

Windows 8.1 用更新プログラム (KB2975719)
Windows 8.1 for x64-Based Systems 用更新プログラム (KB2975719)
Windows Server 2012 R2 用更新プログラム (KB2975719)

これは以前からアナウンスがあったものですが、更新プログラムを適用するためには前提としては Update が当たっている必要があります。
Windows RT 8.1、8.1 の Windows、および Windows Server 2012 の R2 の更新プログラム: 2014 年 4 月

Update が当たっていない環境に対して August Update を適用しようとすると以下のように適用できないというエラーが発生します。
image

以前、Update (Update 1) を適用するために以下のような PowerShell のスクリプトを作ってみました。

try{
	$PatchPath = "C:Update"
	$Items = Get-Item "$PatchPath*.msu"
	foreach ($Item in $Items){
		expand -F:* "$PatchPath$($Item.Name)" $PatchPath
	}
    Remove-Item $PatchPath -Exclude "*.cab" -Recurse -Force
	$PatchList = @("Windows8.1-KB2919442-x64.cab",
                    ,"Windows8.1-KB2919355-x64.cab"
                    ,"Windows8.1-KB2932046-x64.cab"
                    ,"Windows8.1-KB2959977-x64.cab"
                    ,"Windows8.1-KB2937592-x64.cab"
                    ,"Windows8.1-KB2938439-x64.cab"
                    ,"Windows8.1-KB2934018-x64.cab"
                    )
	Get-ChildItem "$PatchPath*.msu" | foreach {expand $_.FullName "$PatchPath" -F:*}
	$PatchList | foreach {Add-WindowsPackage -Online -PackagePath $PatchPath$_ -NoRestart}
    Remove-Item $PatchPath -Recurse -Force
    Restart-Computer -Force
}catch{
    Write-Output $Error[0]
}

August Update については Update 1 が適用されていれば再起動前に連続して適用できますので、このスクリプトを以下のように変更することで、August Update まで適用可能です。

try{
	$PatchPath = "C:Update"
	$Items = Get-Item "$PatchPath*.msu"
	foreach ($Item in $Items){
		expand -F:* "$PatchPath$($Item.Name)" $PatchPath
	}
    Remove-Item $PatchPath -Exclude "*.cab" -Recurse -Force
	$PatchList = @("Windows8.1-KB2919442-x64.cab",
                    ,"Windows8.1-KB2919355-x64.cab"
                    ,"Windows8.1-KB2932046-x64.cab"
                    ,"Windows8.1-KB2959977-x64.cab"
                    ,"Windows8.1-KB2937592-x64.cab"
                    ,"Windows8.1-KB2938439-x64.cab"
                    ,"Windows8.1-KB2934018-x64.cab"
                    ,"Windows8.1-KB2975719-x64.cab"
                    ,"Windows8.1-KB2990532-x64.cab"
                    )
	Get-ChildItem "$PatchPath*.msu" | foreach {expand $_.FullName "$PatchPath" -F:*}
	$PatchList | foreach {Add-WindowsPackage -Online -PackagePath $PatchPath$_ -NoRestart}
    Remove-Item $PatchPath -Recurse -Force
    Restart-Computer -Force
}catch{
    Write-Output $Error[0]
}
Share

Written by Masayuki.Ozawa

8月 13th, 2014 at 6:32 pm

Posted in Windows Server

Tagged with

Leave a Reply