• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 2497
  • Last Modified:

Script to find all WIndows updates installed date wise list.

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
bsharath
Asked:
bsharath
  • 4
  • 2
1 Solution
 
chandru_solCommented:
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
 
bsharathAuthor Commented:
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
 
chandru_solCommented:
Woudl you mind giving this a try.........

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



regards
Chandru
0
Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

 
chandru_solCommented:
Hope you will like this aswelll

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

regards
Chandru
0
 
chandru_solCommented:
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
 
bsharathAuthor Commented:
Thanks a lot Chandru...
0

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

  • 4
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now