Looking for a FREE portable/command line program to list missing MS Updates

allanc

Well-Known Member
Reaction score
387
Location
Toronto, Ontario, Canada
As the title says - I am looking for a FREE portable/command line program to list missing MS updates and that does not require an installation. Silent with no splash screen would be ideal.
The output file can be .txt or .html.
I would like to run this as part of a remote connection that does not require installation of any other supporting software.
Thank you in advance!
 
I use the Microsoft baseline Analyser command line tool.

It's free and i use it to produce a lovely XML format that looks really nice in Excel and include links to the missing updates and the severity level of the update.

It is very easy to concatenate all the XML files in order to filter the machine names and missing updates in Excel

One problem I expect you'll find with Microsoft baseline security analyser and many tools that they will only list the immediate first batch of missing updates and service packs. Of course, when you install the first batch of updates there is often another batch of missing updates.

Edited to add - running Microsoft baseline security Analyser involves a long delay on each workstation, similar to running Windows updates and having to wait 10 minutes for it to produce a list of 50 updates
 
I use the Microsoft baseline Analyser command line tool.

It's free and i use it to produce a lovely XML format that looks really nice in Excel and include links to the missing updates and the severity level of the update.

It is very easy to concatenate all the XML files in order to filter the machine names and missing updates in Excel

One problem I expect you'll find with Microsoft baseline security analyser and many tools that they will only list the immediate first batch of missing updates and service packs. Of course, when you install the first batch of updates there is often another batch of missing updates.
That's ok ^^^

Edited to add - running Microsoft baseline security Analyser involves a long delay on each workstation, similar to running Windows updates and having to wait 10 minutes for it to produce a list of 50 updates
This is a problem. ^^^
It is interesting that Belarc can perform this analysis and everything else that it does in perhaps 3 minutes.
 
Perhaps Belarc manages to poll the information Windows already holds about outstanding updates, whereas MBSA does review the local machine and checks in with the update servers at Microsoft. Never used Belarc but that might explain it.
 
Perhaps Belarc manages to poll the information Windows already holds about outstanding updates, whereas MBSA does review the local machine and checks in with the update servers at Microsoft. Never used Belarc but that might explain it.
Does the MBSA actually require installation?
I am really looking for a tool that does not.
 
I use this vbscript to get the updates that windows update check for updates would give me but be aware that this only gets what windows update gets it can't search a database for missing updates that arent installed for whatever weird reason.

Code:
Set updateSession = CreateObject("Microsoft.Update.Session")
updateSession.ClientApplicationID = "MSDN Sample Script"

Set updateSearcher = updateSession.CreateUpdateSearcher()



Set searchResult = _
updateSearcher.Search("IsInstalled=0 and Type='Software' and IsHidden=0")

textp = ""
c = 0
For I = 0 To searchResult.Updates.Count-1
    Set update = searchResult.Updates.Item(I)
    if InStr(update.Title, "Language Pack") or InStr(update.Title, "Bing Desktop") then
    c = c + 1
    Else
    textp = textp & I + 1 & "> " & update.Title & vbCr & vbLf
    End If
Next

finalcount = searchResult.Updates.Count - C
If finalcount = 0 Then
    WScript.Echo "There are no important updates."
    WScript.Quit ( 0 )
    Else
    WScript.Echo "There are " & finalcount & " updates."
    Wscript.Echo textp
''  Uncomment the line below if you want the script to show up as an error in GFI when theres updates detected.
''    WScript.Quit ( 2000 )
    WScript.Quit
End If
 
Check the info link I posted; copy a wusscan.dll into a folder with the EXE and it works standalone on other machines without having to install. I don't download the CAB file nor do I reference it on the command line - perhaps why it takes so long for me!!
 
Check the info link I posted; copy a wusscan.dll into a folder with the EXE and it works standalone on other machines without having to install. I don't download the CAB file nor do I reference it on the command line - perhaps why it takes so long for me!!
Sorry that I missed step 2 of instructions on the link page.
I did some preliminary testing.
Your command line (without the .cab) required about 18 minutes.
MS command line and the .cab in the folder ran about 5 minutes.
The .cab is over 200 Mb.
 
As the title says - I am looking for a FREE portable/command line program to list missing MS updates and that does not require an installation. Silent with no splash screen would be ideal.
The output file can be .txt or .html.
I would like to run this as part of a remote connection that does not require installation of any other supporting software.
Thank you in advance!
You might find something here (although you will need to look thru the site) http://www.gegeek.com/

He has quite a bit of helps / hints / links to / etc.
 
This has to be installed as I recall.
Correct .. .I did research this program as well as SIW.
SIW has a command line interface, runs silent/no splash, etc.
I am trying to test the demo version but I can't seem to get the commend line to output the missing updates.
Also, I would rather not spent the $ for this one feature that I am looking for.
 
I use this vbscript to get the updates that windows update check for updates would give me but be aware that this only gets what windows update gets it can't search a database for missing updates that arent installed for whatever weird reason.

Code:
Set updateSession = CreateObject("Microsoft.Update.Session")
updateSession.ClientApplicationID = "MSDN Sample Script"

Set updateSearcher = updateSession.CreateUpdateSearcher()



Set searchResult = _
updateSearcher.Search("IsInstalled=0 and Type='Software' and IsHidden=0")

textp = ""
c = 0
For I = 0 To searchResult.Updates.Count-1
    Set update = searchResult.Updates.Item(I)
    if InStr(update.Title, "Language Pack") or InStr(update.Title, "Bing Desktop") then
    c = c + 1
    Else
    textp = textp & I + 1 & "> " & update.Title & vbCr & vbLf
    End If
Next

finalcount = searchResult.Updates.Count - C
If finalcount = 0 Then
    WScript.Echo "There are no important updates."
    WScript.Quit ( 0 )
    Else
    WScript.Echo "There are " & finalcount & " updates."
    Wscript.Echo textp
''  Uncomment the line below if you want the script to show up as an error in GFI when theres updates detected.
''    WScript.Quit ( 2000 )
    WScript.Quit
End If
That is very nice!
It ran < 3 minutes.
I am not familiar at all with VBSScripting.
It is possible:?
1. To not have the pop re how many missing updates it found.
2. To automatically save the output file and not have it pop the list on the screen?
I am trying to to have it run silently as part of a remote tune-up as part of UVK :).
Thanks!
 
That is very nice!
It ran < 3 minutes.
I am not familiar at all with VBSScripting.
It is possible:?
1. To not have the pop re how many missing updates it found.
2. To automatically save the output file and not have it pop the list on the screen?
I am trying to to have it run silently as part of a remote tune-up as part of UVK :).
Thanks!

https://technet.microsoft.com/en-us/library/ee156587.aspx scroll to bottom for examples of how to write output to files.
 
Back
Top