Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

Script to find all WIndows updates installed date wise list.

Posted on 2007-11-20
6
Medium Priority
?
2,452 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
Industry Leaders: 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 2000 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

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

When you see single cell contains number and text, and you have to get any date out of it seems like cracking our heads.
The Windows functions GetTickCount and timeGetTime retrieve the number of milliseconds since the system was started. However, the value is stored in a DWORD, which means that it wraps around to zero every 49.7 days. This article shows how to solve t…
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)
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 …

705 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