Solved

Script to find all WIndows updates installed date wise list.

Posted on 2007-11-20
6
2,307 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
  • 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
How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

 
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

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

In this tutorial I will show you how to make a simple HTML bar chart with the usage of WhizBase, If you want more information about WhizBase please read my previous articles at http://www.experts-exchange.com/ARTH_5123186.html (http://www.experts-ex…
I hope you'll find this tutorial useful and interesting. So let's try to extend Tcl with a new package.  For anyone more deeply interested please check out the book "Practical Programming in Tcl and Tk". It's really one of the best written books abo…
Learn the basics of strings in Python: declaration, operations, indices, and slicing. Strings are declared with quotations; for example: s = "string": Strings are immutable.: Strings may be concatenated or multiplied using the addition and multiplic…
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)

760 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

Need Help in Real-Time?

Connect with top rated Experts

21 Experts available now in Live!

Get 1:1 Help Now