They may come fewer and further between, but Server Core will still need to be updated:
Finding out how exactly we get the updates onto the Server Core installation is another story.Windows Server 2008 Standard (Core Installation) - 13 updates required.
We look the Server Core Blog: Windows Update and More WMIC samples. Here we find the following command line to detect updates manually: Wuauclt /detectnow
However, we are not given any further indication as to how we must proceed to install those updates.
We search a little more, and our friend Sander Berkouwer on his blog The things that are better left unspoken gives us the process: (Manually) Updating Server Core .
The steps:
- Copy and paste the following script into NotePad on the Core installation:
Set updateSession = CreateObject("Microsoft.Update.Session")
Set updateSearcher = updateSession.CreateupdateSearcher()
WScript.Echo "Searching for updates..." & vbCRLF
Set searchResult = _
updateSearcher.Search("IsInstalled=0 and Type='Software'")
WScript.Echo "List of applicable items on the machine:"
For I = 0 To searchResult.Updates.Count-1
Set update = searchResult.Updates.Item(I)
WScript.Echo I + 1 & "> " & update.Title
Next
If searchResult.Updates.Count = 0 Then
WScript.Echo "There are no applicable updates."
WScript.Quit
End If
WScript.Echo vbCRLF & "Creating collection of updates to download:"
Set updatesToDownload = CreateObject("Microsoft.Update.UpdateColl")
For I = 0 to searchResult.Updates.Count-1
Set update = searchResult.Updates.Item(I)
WScript.Echo I + 1 & "> adding: " & update.Title
updatesToDownload.Add(update)
Next
WScript.Echo vbCRLF & "Downloading updates..."
Set downloader = updateSession.CreateUpdateDownloader()
downloader.Updates = updatesToDownload
downloader.Download()
WScript.Echo vbCRLF & "List of downloaded updates:"
For I = 0 To searchResult.Updates.Count-1
Set update = searchResult.Updates.Item(I)
If update.IsDownloaded Then
WScript.Echo I + 1 & "> " & update.Title
End If
Next
Set updatesToInstall = CreateObject("Microsoft.Update.UpdateColl")
WScript.Echo vbCRLF & _
"Creating collection of downloaded updates to install:"
For I = 0 To searchResult.Updates.Count-1
set update = searchResult.Updates.Item(I)
If update.IsDownloaded = true Then
WScript.Echo I + 1 & "> adding: " & update.Title
updatesToInstall.Add(update)
End If
Next
WScript.Echo vbCRLF & "Would you like to install updates now? (Y/N)"
strInput = WScript.StdIn.Readline
WScript.Echo
If (strInput = "N" or strInput = "n") Then
WScript.Quit
ElseIf (strInput = "Y" or strInput = "y") Then
WScript.Echo "Installing updates..."
Set installer = updateSession.CreateUpdateInstaller()
installer.Updates = updatesToInstall
Set installationResult = installer.Install()
'Output results of install
WScript.Echo "Installation Result: " & _
installationResult.ResultCode
WScript.Echo "Reboot Required: " & _
installationResult.RebootRequired & vbCRLF
WScript.Echo "Listing of updates installed " & _
"and individual installation results:"
For I = 0 to updatesToInstall.Count - 1
WScript.Echo I + 1 & "> " & _
updatesToInstall.Item(i).Title & _
": " & installationResult.GetUpdateResult(i).ResultCode
Next
End If - Save the file as WUA_SearchDownloadInstall.vbs in your preferred location.
- Navigate to the folder where the WUA_SearchDownloadInstall.vbs file is located.
- cscript WUA_SearchDownloadInstall.vbs [Enter]
- Answer Y to install the found updates.
- Once finished, note whether the Reboot Required: True flag is raised.
- If so: shutdown -r -t 15 [Enter]
- If there are VMs running on the system, you can shut them down via the Hyper-V manager before rebooting, or let Hyper-V take care of it for you.
- A snapshot of the VMs may be appropriate prior to updating and rebooting.
- Rerun the script once the server comes up again to verify that there are no further updates
Our first Server Core setup to be updated is a 1U Xeon X3220 with 8GB of ECC RAM running a pair of Seagate ES series drives in a RAID 1 array. The updates took some time, around 30-45 minutes, to install during the reboot portion of the updates.
Once we had our Core box online and verified, we fired up our VMs with no issues.
Philip Elder
MPECS Inc.
Microsoft Small Business Specialists
*All Mac on SBS posts are posted on our in-house iMac via the Safari Web browser.
We have tried running the script and manually detecting the updates required and neither have succeded. This has been with a proxy configured and a direct connection out. The script is erroring on Line 6 char 1. Is there anything we should be looking for? The installation is Core R2
ReplyDeleteHi,
ReplyDeleteThe script started to hiccup with SP2 on Win2K8. I have not had the chance to dig into a replacement script though I think I know where to find one ... in Hyper-V Server 2008 R2.
It is a matter of finding the time to dig into the H-V R2 box we have to get it.
Philip