2017/03/15

My Windows Update Script for Nano Server

いつも使っている Nano Server 用の Windows Update スクリプトを Script Center にアップしました。

[URL] https://gallery.technet.microsoft.com/scriptcenter/Windows-Update-for-Nano-1c85450e


なお、日本語版の Windows Server 2016 のインストールメディアから作成した Nano Server では、Windows Update がエラーで失敗します。日本語版のメディアから作っちゃったよどうしようという場合は、こんな感じでオフライン パッチ (この例は VHD 内の Nano Server インストール) の方法で更新することができます。

C:\work> DISM /Mount-Image /ImageFile:"C:\work\mynanojp01.vhd" /Index:1 /MountDir:"C:\work\mount"
C:\work> DISM /Image:"C:\work\mount" /Add-Package /PackagePath:C:\work\patch\windows10.0-kb4013429-x64_ddc8596f88577ab739cade1d365956a74598e710.msu"
C:\work> DISM /Unmount-Image /MountDir:"C:\work\mount" /Commit

関連:
Windows Update for Nano Server (TP5 向け、2016/05/04)
Windows Scripting: Windows Update をスクリプトから ( WindowsUpdate.ps1 ) (2010/07/05)
Windows Scripting: Windows Update をスクリプトから ( WindowsUpdate.vbs ) (2010/07/02)


3/22 追記)
WindowsBuildLabEx が正しいリビジョン番号を返さないことがあるので、ntoskrnl.exe のバージョンリソース情報からの値と、HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion の下の CurrentMajorVersionNumber、CurrentMinorVersionNumber、CurrentBuild、UBR の値から生成したものも出力するように変更しました。

$CurrentWindowsBuildLabEx = (Get-ComputerInfo).WindowsBuildLabEx
$CurrentNtoskrnl = ((Get-ItemProperty C:\Windows\System32\ntoskrnl.exe).VersionInfo).ProductVersion
$CurrentMajorVer = (Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion").CurrentMajorVersionNumber
$CurrentMinorVer = (Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion").CurrentMinorVersionNumber
$CurrentBldNum = (Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion").CurrentBuild
$CurrentRevNum = (Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion").UBR

Write-Host "-----------------------------------------------------------------------"
Write-Host "Current Build Information ..."
Write-Host $CurrentWindowsBuildLabEx "(from WindowsBuildLabEx)"
Write-Host $CurrentNtoskrnl "(from ntoskrnl.exe Version Resource)"
Write-Host $CurrentMajorVer"."$CurrentMinorVer"."$CurrentBldNum"."$CurrentRevNum "(from HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion)"
Write-Host "-----------------------------------------------------------------------"

 

0 件のコメント: