Windows operating systems updates generally done automatically and prompting the installation and restart of the system. All these update operations creates logs about the operations and updated packages. In this tutorial we will look how to list, filter and search these update logs.

Windows Update Log File

First we need to locate the Windows update log file. Windows update log is by default located at systemroot . Systemroot is generally the location where the windows operating system files are installed which is C:\Windows in most cases.

Print All Update Log

We can print all the windows update log without using any filter with ¢at command. We will also use some environment variables to accurately locate SystemRoot location with $env variable.

PS> cat $env:SystemRoot\WindowsUpdate.log

As we can see from listed event logs from ¢at command output there are following information about events.

Date

Time

Application Exit Status

Subsystem

Explanations

Filter Logs

As we list all log files in previous step it will create a lot of output. This is not a wanted situations especially if we are looking for a specific string. We can filter log with Powershell select-string command. In this example we will list only logs those contains FATAL string. This will list all FATAL type log which is a real interrupting problem.

PS> select-string -path $env:SystemRoot\WindowsUpdate.log FATAL

Using Get-WindowsUpdateLog

Powershell for Windows Server 2012, Windows Server 2016, Windows 10 comes with a useful cmdlet which directly provides windows update logs without typing long and error prone commands. Get-WindowsUpdateLog powershell command can be used to list all logs like below.

PS> Get-WindowsUpdateLog

Open In Text Editor

There is more GUI and user friendly was to list windows update event logs. This will open previously stated log file in Notepad. Just put following command into windows Run

windowsupdate.log