How to

enumerate patches using WMI

Published: 12. February 2012 | Updated: 12. February 2012
License: Microsoft Public License (MS-PL)
Categories: Windows
Tags: C# Windows WMI
Was this snippet helpful for you? YESYES / NONO

Import namespaces

using System;
using System.Collections.Generic;
using System.Management; // requires adding System.Management reference to project

Code

ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_Patch");
ManagementObjectCollection collection = searcher.Get();

var items = new List<Win32_Patch>();
foreach (ManagementObject obj in collection)
{
    var item = new Win32_Patch();
    item.Attributes = (ushort?)obj["Attributes"];
    item.Caption = (string)obj["Caption"];
    item.Description = (string)obj["Description"];
    item.File = (string)obj["File"];
    item.PatchSize = (uint?)obj["PatchSize"];
    item.ProductCode = (string)obj["ProductCode"];
    item.Sequence = (short?)obj["Sequence"];
    item.SettingID = (string)obj["SettingID"];

    items.Add(item);
}

Class

public class Win32_Patch
{
    public ushort? Attributes;
    public string Caption;
    public string Description;
    public string File;
    public uint? PatchSize;
    public string ProductCode;
    public short? Sequence;
    public string SettingID;
}
Send us feedback about this snippet »



Related Snippets: