Skip to main content

Automating Windows Updates using PowerShell

Scenario : Windows Server Operating Systems (2008 R2, 2012, 2012 R2, 2016)

Issue : Managing the Windows Updates for multiple servers is a complex task. This can be simplified using PowerShell.

Michal Gajda from Microsoft forum has done a wonderful job by creating custom PowerShell Module for Managing windows updates thru PowerShell.

Link for the Module : https://goo.gl/qJHorX

Description : The PSWindowsUpdate module allow you to manage Windows Update on your computer. Module contain set of function to check, download and install or remove update from local machine. Especially useful on machines in core edition like Windows Server 2008 R2 or later.

Steps :

  1. Download : Download the ZIP from above link ( https://goo.gl/qJHorX).
  2. Module can be installed manually by downloading Zip file and extract in two places:
    • %USERPROFILE%\Documents\WindowsPowerShell\Modules
    • %WINDIR%\System32\WindowsPowerShell\v1.0\Modules
  3. Importing the module
    PS > Import-Module PSWindowsUpdate
  4. Enable RemoteExecution on Servers where you are going to Deploy Updates using following PowerShell Command
    Set-ExecutionPolicy RemoteSigned
    image
  5. Invoke following command to Initiate the Installation of Tool on Remote Computer and Install the Latest available updates.
    Invoke-WUInstall -ComputerName encxenlic.encnet.com -Script {ipmo PSWindowsUpdate; Get-WUInstall -AcceptAll -Force | Out-File -Append C:\PerfLogs\PSWindowsUpdate.log } -Confirm:$false –Verbose

    Above command will copy module files on Remote Computer.
    It will remotely install the PSWindowsUpdate module
    Execute Download and Update the Windows Update command
    It will NOT Restart the Windows Server
    It will save/append log file on the Path C:\PerfLogs\PSWindowsUpdate.log
  6. You can check the Windows Update status after sometime.
  7. Only Issue which I encountered is, it will not produce any log in the Event Log (System) and in Recently Installed updates.
Hope that it will save your valuable time.

Let me know if it helped you and if you have any query in comment.

Comments

Popular posts from this blog

Windows Server 2008 R2 always boots in recovery mode

If you are facing below Issues :
- You faced the Windows Server 2008 R2 Clean boot issue
- Windows Server 2008 R2 starts in recovery mode
- After installing windows updates on Windows server 2008 R2 system goes in recovery mode after reboot
- Safe mode also doesn't work in above case and get stuck at classpnp.sys

Then this is the solution for all above:

1. Boot into Windows Recovery Mode
2. Open Command Prompt
3. Type:

sfc /SCANNOW /OFFBOOTDIR=C:\  /OFFWINDIR=C:\Windows

4. Goto following location :

C:\Windows\winsxs\
Check out for pending.xml file.
If it is present, then DELETE it.

5. Reboot the system.

6. Select normal boot mode. 

You have done it!