📊 VBA (Excel)

Load Installed Hotfixes into Excel via WMI

Queries Win32_QuickFixEngineering via GetObject("winmgmts:") and dumps every Installed Hotfixes row straight onto the active worksheet, no PowerShell or external tool required.

By WindowsScripting.com · 1.1 KB
QuickFixEngineeringWmiReport.bas
Attribute VB_Name = "QuickFixEngineeringWmiReport"
Option Explicit

Public Sub QuickFixEngineeringWmiReport()
    Dim objWMIService As Object
    Dim colItems As Object
    Dim objItem As Object
    Dim ws As Worksheet
    Dim propsArr() As String
    Dim c As Long, r As Long

    Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
    Set colItems = objWMIService.ExecQuery("SELECT HotFixID, Description, InstalledOn, InstalledBy FROM Win32_QuickFixEngineering")

    Set ws = ActiveSheet
    ws.Cells.Clear

    propsArr = Split("HotFixID, Description, InstalledOn, InstalledBy", ", ")
    For c = LBound(propsArr) To UBound(propsArr)
        ws.Cells(1, c + 1).Value = propsArr(c)
    Next c

    r = 2
    For Each objItem In colItems
        For c = LBound(propsArr) To UBound(propsArr)
            On Error Resume Next
            ws.Cells(r, c + 1).Value = objItem.Properties_(propsArr(c)).Value
            On Error GoTo 0
        Next c
        r = r + 1
    Next objItem

    ws.Rows(1).Font.Bold = True
    ws.Columns.AutoFit

    MsgBox (r - 2) & " Installed Hotfixes row(s) loaded from Win32_QuickFixEngineering.", vbInformation
End Sub