confusedbyte

Windows(10) Updates mit "C sharp-Programm" auslesen bzw. anzeigen lassen

Hi all,

ich habe ein kleines Problem, ich möchte in c#.net ein kleines Programm schreiben, in dem ich, in einer Windowsform die letzten Updates von Windows anzeigen lasse (meinetwegen in einem Lable).
bzw. brauche ich nur den letzten Zeitstempel oder halt das Datum. Dann habe ich die verstrichenen Tage bis zum aktuellen Datum berechnen lassen.

Ich habe ähnliches in Powershell schon einmal realisiert :

Der Code sieht in etwa so aus:
    $b = Get-Date -Format d
    $upd = Get-WmiObject win32_quickfixengineering | 
    Where-Object { $_.Description -eq "Security Update" } |   
    where-Object { $_.InstalledOn -gt (Get-Date).AddMonths(-3)}|
    Select-Object InstalledON |
    Select-Object -Last 1| 
    Select -ExpandProperty "InstalledOn"  
    $upd3 = (Get-Date).Subtract((Get-Date $upd)).Days #Diff. Rechnung  

Nun Möchte ich das Ganze aber mit C# machen. Als erstes würde ich gerne mal wissen wie ich überhaupt die Updates auslese, unabhängig von der Zeitrechnung.
Kann mir da jemand weiter helfen?

Danke

Lg CB
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 362897

Url: https://administrator.de/forum/windows10-updates-mit-c-sharp-programm-auslesen-bzw-anzeigen-lassen-362897.html

Ausgedruckt am: 13.05.2025 um 02:05 Uhr

Kraemer
Kraemer 30.01.2018 um 11:40:40 Uhr
Goto Top
Moin,

fange schon einmal damit an: https://msdn.microsoft.com/de-de/library/cc143254.aspx

GFruß
ConfusedByte
ConfusedByte 30.01.2018 um 11:56:16 Uhr
Goto Top
und hier bringt er mir nen Fehler "ManagementScope" kann er nix mit anfangen --> fehlende using-direktive --> using System.Management; verwende ich aber.
135333
135333 30.01.2018 aktualisiert um 12:05:48 Uhr
Goto Top
Den Namespace musst du erst unter Verweise im Projekt hinzufügen! Kontextmenü auf Verweise > Add Reference > .NET > "System.Management".

Visual Studio Grundlagen!

Gruß snap
ConfusedByte
ConfusedByte 30.01.2018 um 12:16:44 Uhr
Goto Top
face-big-smile

verdammt da war ja was

danke
ConfusedByte
ConfusedByte 30.01.2018 um 13:15:31 Uhr
Goto Top
und damit komme ich gerade nicht weiter face-big-smile
ich würde mir ja gerne die "Ergebnisse" anzeigen lassen, bzw anzeigen lassen was der Code ausgibt, ich habe nur keine "Consolen-Anwendung"
sondern eine "Forms-Anwendung".
Ich habe gerade keinen Plan, wie ich das in der Form anzeigen lasse.

Alle Versuche liefen ins Leere ^^
Kraemer
Kraemer 30.01.2018 um 13:16:42 Uhr
Goto Top
Debugging, Breakpoints, Überwachungen kennst du?
135333
Lösung 135333 30.01.2018 aktualisiert um 16:14:44 Uhr
Goto Top
try {
    // WMI Query erstellen
    ObjectQuery query = new ObjectQuery("Select * From Win32_Quickfixengineering where Description = 'Security Update'");  

    // Objectsearcher Objekt mit der Query erzeugen
    ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);

    // Stringbuilder erstellen
    StringBuilder str = new StringBuilder();

    // Ergebnisse der WMI Abfrage durchlaufen
    foreach (ManagementObject hotfix in searcher.Get()) {
        try {
            // Eigenschaft "HotFixID" aus dem Hotfix auslesen 
            string hotfixid = hotfix.GetPropertyValue("HotfixID").ToString();  

            // Eigenschaft "InstalledOn" aus dem Hotfix auslesen 
            string installedon = hotfix.GetPropertyValue("InstalledOn").ToString();  

            // Zeile mit Daten dem Stringbuilder hinzufügen
            str.AppendLine(String.Format("{0}\t{1}", hotfixid, installedon));  
        } catch (Exception ex) {
            MessageBox.Show(ex.Message,"Error",MessageBoxButtons.OK,MessageBoxIcon.Error);  
        }
    }
    // Der Textbox den Inhalt des Stringbuilders verpassen
    txtUpdates.Text = str.ToString();
} catch (Exception ex) {
    MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);  
}
ConfusedByte
ConfusedByte 31.01.2018 um 09:03:55 Uhr
Goto Top
o.O vielen Dank für die Antwort. Hilft mir sehr!

Danke