Solved

Script to find all WIndows updates installed date wise list.

Posted on 2007-11-20
6
2,415 Views
Last Modified: 2010-04-21
Hi,
I am looking for a script that can get all the windows updates install on the machine to a file with the dates.

Any help....

Regards
Sharath
0
Comment
Question by:bsharath
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 2
6 Comments
 
LVL 12

Expert Comment

by:chandru_sol
ID: 20320295
Try this..........


regards
Chandru
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
 
Set colQuickFixes = objWMIService.ExecQuery _
    ("Select * from Win32_QuickFixEngineering")
 
For Each objQuickFix in colQuickFixes
    Wscript.Echo "Computer: " & objQuickFix.CSName
    Wscript.Echo "Description: " & objQuickFix.Description
    Wscript.Echo "Hot Fix ID: " & objQuickFix.HotFixID
    Wscript.Echo "Installation Date: " & objQuickFix.InstallDate
    Wscript.Echo "Installed By: " & objQuickFix.InstalledBy
Next

Open in new window

0
 
LVL 11

Author Comment

by:bsharath
ID: 20320343
I get this...
Hot Fix ID: File 1
Installation Date:
Installed By:
Computer: DEV-CHEN-MRD100
Description:
Hot Fix ID: File 1
Installation Date:
Installed By:
Computer: DEV-CHEN-MRD100
Description:
Hot Fix ID: File 1
Installation Date:
Installed By:
Computer: DEV-CHEN-MRD100
Description:
Hot Fix ID: File 1
Installation Date:
Installed By:
Computer: DEV-CHEN-MRD100
Description:
Hot Fix ID: File 1

Computer: DEV-CHEN-MRD100
Description: Security Update for Windows Internet Explorer 7 (KB929969)
Hot Fix ID: KB929969
Installation Date:
Installed By: SYSTEM
Computer: DEV-CHEN-MRD100
Description: Security Update for Windows Internet Explorer 7 (KB933566)
Hot Fix ID: KB933566-IE7
Installation Date:
Installed By: SYSTEM
Computer: DEV-CHEN-MRD100
Description: Security Update for Windows Internet Explorer 7 (KB937143)
Hot Fix ID: KB937143-IE7
Installation Date:
Installed By: SYSTEM
Computer: DEV-CHEN-MRD100
Description: Security Update for Windows Internet Explorer 7 (KB938127)
Hot Fix ID: KB938127-IE7
Installation Date:
Installed By: SYSTEM


I dont get the dates...
0
 
LVL 12

Expert Comment

by:chandru_sol
ID: 20321801
Woudl you mind giving this a try.........

wmic /node:'server-name' qfe GET description,FixComments,hotfixid,installedby,installedon,servicepackineffect > QFElist.txt



regards
Chandru
0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 12

Expert Comment

by:chandru_sol
ID: 20321811
Hope you will like this aswelll

http://www.nirsoft.net/utils/wul.html

regards
Chandru
0
 
LVL 12

Accepted Solution

by:
chandru_sol earned 500 total points
ID: 20321893
Try this vbscript,

Usage --- Cscript //nologo HotfixHistory.vbs > HotfixHistory.txt

regards
Chandru
Wscript.Echo "Hotfix report date: " & Now & vbCrLf 
strComputer = "."   ' use "." for local computer 
Const HKLM = &H80000002 
'On Error Resume Next 
Set objWMIService = GetObject("winmgmts:" _ 
        & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") 
 
Set colSettings = objWMIService.ExecQuery _ 
        ("Select * from Win32_OperatingSystem") 
' get general info about the OS 
' Caption value for different OS: 
' Microsoft Windows 2000 ... 
' Microsoft Windows XP ... 
' Microsoft(R) Windows(R) Server 2003, ..... Edition 
For Each objOperatingSystem in colSettings 
    strOSCaption = objOperatingSystem.Caption 
    Select Case True 
      Case InStr(1, strOSCaption, "windows 2000", vbTextCompare) > 0 
        strOS = "Windows 2000" 
      Case InStr(1, strOSCaption, "windows xp", vbTextCompare) > 0 
        strOS = "Windows XP" 
      Case InStr(1, strOSCaption, "windows(r) server 2003", vbTextCompare) > 0 
        strOS = "Windows Server 2003" 
    End Select 
 
 
    intOSLang = objOperatingSystem.OSLanguage 
    strOSLangHex = Right("000" & Hex(intOSLang), 4) 
    strOSServicePack = objOperatingSystem.CSDVersion 
Next 
 
Set objReg = GetObject("WinMgmts:{impersonationLevel=impersonate}!//" _ 
              & strComputer & "/root/default:StdRegProv") 
strOSLanguage = "Unknown"  ' Init value 
strKeyPath = "SOFTWARE\Classes\MIME\Database\Rfc1766" 
strValueName = strOSLangHex 
objReg.GetStringValue HKLM, strKeyPath, strValueName, strOSLanguage 
' remove unnecessary stuff 
arrOSLanguage = Split(strOSLanguage, ";") 
strOSLanguage = arrOSLanguage(UBound(arrOSLanguage)) 
If Instr(strOSLanguage, "(") > 0 Then 
    arrOSLanguage = Split(strOSLanguage, "(") 
    strOSLanguage = Trim(arrOSLanguage(0)) 
End If 
 
 
Wscript.Echo "OS version: " & strOSCaption 
Wscript.Echo "SP version: " & strOSServicePack 
Wscript.Echo "OS language: " & strOSLanguage 
 
 
' start enumeration of hotfixes 
 
 
Wscript.Echo vbCrLf & "Hotfixes Identified:" 
 
 
strRegBaseUpdate = "SOFTWARE\Microsoft\Updates\" & strOS 
 
 
Set colItems = objWMIService.ExecQuery _ 
        ("Select * from Win32_QuickFixEngineering",,48) 
 
 
For Each objItem in colItems 
    If objItem.HotFixID <> "File 1" Then 
       Wscript.Echo "HotFixID: " & objItem.HotFixID 
       Wscript.Echo "Description: " & objItem.Description 
       Wscript.Echo "InstalledBy: " & objItem.InstalledBy 
       strInstallDate = Null  ' init value 
       If objItem.ServicePackInEffect <> "" Then 
          strRegKey = strRegBaseUpdate & "\" & objItem.ServicePackInEffect _ 
                 & "\" & objItem.HotFixID 
          objReg.GetStringValue HKLM, strRegKey, _ 
               "InstalledDate", strInstallDate 
       End If 
 
 
       If IsNull(strInstallDate) Then 
          strInstallDate = "(none found)" 
       End If 
       Wscript.Echo "InstallDate: " & strInstallDate 
       Wscript.Echo   ' blank line 
    End If 
Next 

Open in new window

0
 
LVL 11

Author Closing Comment

by:bsharath
ID: 31410285
Thanks a lot Chandru...
0

Featured Post

Optimize your web performance

What's in the eBook?
- Full list of reasons for poor performance
- Ultimate measures to speed things up
- Primary web monitoring types
- KPIs you should be monitoring in order to increase your ROI

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article is meant to give a basic understanding of how to use R Sweave as a way to merge LaTeX and R code seamlessly into one presentable document.
A quick Powershell script I wrote to find old program installations and check versions of a specific file across the network.
The viewer will learn how to create a basic form using some HTML5 and PHP for later processing. Set up your basic HTML file. Open your form tag and set the method and action attributes.: (CODE) Set up your first few inputs one for the name and …
In this seventh video of the Xpdf series, we discuss and demonstrate the PDFfonts utility, which lists all the fonts used in a PDF file. It does this via a command line interface, making it suitable for use in programs, scripts, batch files — any pl…

615 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question