Skip to content
PowerShell Commands


Get-WindowsUpdateLog [[-ETLPath] <String[]>] [[-LogPath] <String>] [[-SymbolServer] <String>] [-ForceFlush][-InformationAction {SilentlyContinue | Stop | Continue | Inquire | Ignore | Suspend}] [-InformationVariable<String>] [-ProcessingType {CSV | XML}] [-Confirm] [-WhatIf] [<CommonParameters>]

The Get-WindowsUpdateLog cmdlet merges and converts Windows Update .etl files into a single readable WindowsUpdate.log file. Windows Update Agent uses Event Tracing for Windows (ETW) to generate diagnostic logs. Windows Update no longer directly produces a WindowsUpdate.log file. Instead, it produces .etl files that are not immediately readable as written.

This cmdlet requires access to a Microsoft symbol server.


-ETLPath [<String[]>]

  • Accepts pipeline input ByValue

Specifies an array of paths of Windows Update .etl files to convert into WindowsUpdate.log. The default value for this parameter is the Windows Update trace file directory for the current device. The acceptable values for this parameter are:

-- The full path of a directory that contains one or more .etl files.-- The full path of a single .etl file.-- A comma-separated list of full paths of .etl files.

-ForceFlush [<SwitchParameter>]

Indicates that this cmdlet forces the Windows Update Agent on the current device to flush all of its traces to .etl files. This process stops the Update Orchestrator and Windows Update services. Running this cmdlet with this parameter requires administrative credentials. You can start Windows PowerShell with administrative credentials by using the Run as administrator command.

-InformationAction [<ActionPreference>]

Specifies how this cmdlet responds to an information event. The acceptable values for this parameter are:

-- SilentlyContinue-- Stop-- Continue-- Inquire-- Ignore-- Suspend

-InformationVariable [<String>]

Specifies a variable in which to store an information event message.

-LogPath [<String>]

Specifies the full path to which Get-WindowsUpdateLog writes WindowsUpdate.log. The default value is WindowsUpdate.log in the Desktop folder of the current user.

-ProcessingType [<String>]

Specifies the file type that Get-WindowsUpdateLog uses for temporary files that are created during intermediate processing. The acceptable values for this parameter are:

-- CSV (comma-separated values)-- XML

By default, the value is CSV. The temporary files are in $env:TEMP\WindowsUpdateLog.

-SymbolServer [<String>]

Specifies the URL of Microsoft Symbol Server. By default, this value is the Microsoft public symbol server.

-Confirm [<SwitchParameter>]

  • Default value is false

Prompts you for confirmation before running the cmdlet.Prompts you for confirmation before running the cmdlet.

-WhatIf [<SwitchParameter>]

  • Default value is false

Shows what would happen if the cmdlet runs. The cmdlet is not run.Shows what would happen if the cmdlet runs. The cmdlet is not run.


This cmdlet supports the common parameters: Verbose, Debug,ErrorAction, ErrorVariable, WarningAction, WarningVariable,OutBuffer, PipelineVariable, and OutVariable.

  1. Merge and convert Windows Update trace files:
    PS C:\> Get-WindowsUpdateLog
    Converting C:\Windows\logs\WindowsUpdate into C:\Users\Admin\Desktop\WindowsUpdate.log
           Directory: C:\Users\admin\AppData\Local\Temp\WindowsUpdateLog
       Mode                LastWriteTime         Length Name
       ----                -------------         ------ ----
       d-----        5/30/2015  10:02 PM                SymCache
       DumpFile:           C:\Users\admin\AppData\Local\Temp\WindowsUpdateLog\wuetl.CSV.tmp.0

    The command completed successfully.

    WindowsUpdate.log written to C:\Users\admin\Desktop\WindowsUpdate.log

    This command merges and converts Windows Update trace files (.etl files) into a single readable WindowsUpdate.log file.

This work is licensed under a Creative Commons Attribution 4.0 International. It is attributed to Microsoft Corporation and can be found here.

PowerShell Commands