Share via


Powershell to see what Updates have been installed

I was playing around in Powershell today and ran into this nice set of commands that will show you what Updates have been installed as known by the Windows Update Agent:

First create a variable and bind it to the "Microsoft.Update.Searcher" Com Object:

$wu = new-object -com "Microsoft.Update.Searcher"

A quick list of the members returns:

Name                                MemberType Definition
----                                ---------- ----------
BeginSearch                         Method     ISearchJob BeginSearch (string, IUnknown, Variant)
EndSearch                           Method     ISearchResult EndSearch (ISearchJob)
EscapeString                        Method     string EscapeString (string)
GetTotalHistoryCount                Method     int GetTotalHistoryCount ()
QueryHistory                        Method     IUpdateHistoryEntryCollection QueryHistory (int, ...
Search                              Method     ISearchResult Search (string)
CanAutomaticallyUpgradeService      Property   bool CanAutomaticallyUpgradeService () {get} {set}
ClientApplicationID                 Property   string ClientApplicationID () {get} {set}
IgnoreDownloadPriority              Property   bool IgnoreDownloadPriority () {get} {set}
IncludePotentiallySupersededUpdates Property   bool IncludePotentiallySupersededUpdates () {get}...
Online                              Property   bool Online () {get} {set}
ServerSelection                     Property   ServerSelection ServerSelection () {get} {set}
ServiceID                           Property   string ServiceID () {get} {set}

So it looks like I can do a QueryHistory to see what has been installed.  Before doing so I need to know how many updates have been installed.

$totalupdates = $wu.GetTotalHistoryCount()

Now I can run this command to see my update history:

$wu.QueryHistory(0,$totalupdates)

This will list all of the updates along with the following properties:

Name
----
Categories
ClientApplicationID
Date
Description
HResult
Operation
ResultCode
ServerSelection
ServiceID
SupportUrl
Title
UninstallationNotes
UninstallationSteps
UnmappedResultCode
UpdateIdentity

Comments

  • Anonymous
    January 01, 2003
    is there any way to list all the patches/updates like SQL server, Visual Studio etc Regards Ramesh

  • Anonymous
    July 09, 2006
    <Experimenting with some folksonomy tags to facilitate searching>
    PSMDTAG:TYPE:COM: Microsoft.Update.searcher

    Jeffrey Snover [MSFT]
    Windows PowerShell Architect
    Visit the Windows PowerShell Team blog at:    http://blogs.msdn.com/PowerShell
    Visit the Windows PowerShell ScriptCenter at:  http://www.microsoft.com/technet/scriptcenter/hubs/msh.mspx