Monday, July 14, 2014

Windows Updates On Server Core Machine!!!!!

Hi Guys ,
One day i got a request to install the patches on Server Core machine... and i was shocked to see that request because i have never done this in past, So i started searching in Google and was very scared because most of the post were scripts. As i was working in production environment there was "BIG NO" to execute any script in environment as it was not tested , so after digging further i came across below 5 Methods that executed in environment based on your choice. I selected "OPTION 3" that was SConfig.
Method #1 - Manually Install Updates
In order to install updates you need to configure the Server Core machine to automatically download and install updates:
At a command prompt:
  • To verify the current setting, type:
cscript scregedit.wsf /AU /v
  • To enable automatic updates, type:
cscript scregedit.wsf /AU 4
  • To disable automatic updates, type:
cscript scregedit.wsf /AU 1
Problem with this setting is that you have no control over what updates are being downloaded and installed. Therefore, if you do not wish to enable auto updates, you can manually download each update from the Windows Update site, transfer them to the Core machine, and then manually installing them using msiexec.exe or wusa.exe:
Msiexec (command-line options)
Description of the Windows Update Stand-alone Installer (Wusa.exe) and of .msu files in Windows Vista and in Windows Server 2008



Method #2 - Install from Script
You can also use the following script sample from MSDN:
Searching, Downloading, and Installing Updates: http://msdn.microsoft.com/en-us/library/aa387102(VS.85).aspx
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
Copy the text found in the script, save it as WUA_SearchDownloadInstall.vbs in the system32 folder, and run:
cscript WUA_SearchDownloadInstall.vbs
Very cool indeed.




Method #3 - Use SCONFIG
As noted on my "Manage Windows Server 2008 R2 Core with SCONFIG" article, SCONFIG is a very nice tool that is now built into R2, that you can use to manage many aspects of the Server Core machine. One of these features is the ability to control the Windows Updates settings, and then use it to download updates and either selectively install them, or install them all at once.
To run SCONFIG simply enter sconfig.cmd in the command prompt window, and press Enter.
First, enable Automatic Updates by typing "5" and pressing Enter.
Type "a" and press Enter.

Next, type "6" to get SCONFIG to search and download missing updates.
You'll be able to install all missing updates, or just the recommended ones.




Method #4 - Visual Core Configurator 2008
Visual Core Configurator 2008 is a nice GUI-based tool created by Guillermo Musumeci. The tool is free to use, and can be obtained here:
After downloading the tool, either copy the files to the Server Core machine, or if it's a virtual machine, use the ISO file download instead.
Run the tool.
Press on the "Windows Update" icon.
Press on the "Search for updates" button.
Select the updates you want to download and install, and press on the "Download and Install Updates" button.




Method #5 - Install Using Core Configurator 2.0
On of the first 3rd-party GUI tools for Server Core, this tool is free to use, and can be obtained here:
Run Start_Coreconfig.wsf to start the tool.
The latest version of Core Configurator needs .NET Framework and PowerShell, which it will automatically install once the tool is executed.
You will be prompted to join the customer Experience Improvement Program. Accept or decline.
Press the "Control Panel" button.
Press the "Windows Updates" button.
First, you can configure the Auto Updates settings.
Then, press on the "Check for updates" link and press the "Download updates" button.
You can now select which updates to install.


Hope This Will Help!!!
Amarpal Singh Sandhu

No comments:

Post a Comment