Ermitteln der installierten .NET Framework-Sicherheitsupdates und -Hotfixes
In diesem Artikel wird gezeigt, wie Sie die auf einem Computer installierten .NET Framework-Sicherheitsupdates und -Hotfixes ermitteln.
Updateverlauf
Um zu sehen, welche .NET Framework-Updates auf Ihrem eigenen Computer installiert sind, navigieren Sie unter Einstellungen zu Windows Update>Updateverlauf. Sehen Sie sich den Abschnitt Qualitätsupdates für .NET Framework-Updates an. Beispielsweise wird ein Update wie „2023-11 Kumulatives Update für .NET Framework 3.5 und 4.8.1 für Windows 11, Version 22H2 für x64 (KB5032007)“ angezeigt.
Registrierung
Sie können die Registrierung mit dem Registrierungs-Editor, mit Code oder mit PowerShell abfragen.
Hinweis
Alle Registrierungstechniken erfordern ein Konto mit Administratorberechtigungen.
Verwenden des Registrierungs-Editors
Die auf einem Computer installierten Sicherheitsupdates und Hotfixes für jede Version von .NET Framework werden in der Windows-Registrierung aufgeführt. Sie können diese Informationen mit dem Registrierungs-Editor (regedit.exe) anzeigen.
Öffnen Sie das Programm regedit.exe. Klicken Sie in Windows 8 und höheren Versionen mit der rechten Maustaste auf Start , und wählen Sie dann Ausführen aus. Geben Sie im Feld Öffnen den Namen regedit.exe ein, und klicken Sie auf OK.
Öffnen Sie im Registrierungs-Editor den folgenden Unterschlüssel:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Updates
Die installierten Updates werden unter Unterschlüsseln aufgeführt, die die für sie geltende .NET Framework-Version identifizieren. Jedes Update wird durch eine Knowledge Base (KB)-Nummer identifiziert.
Im Registrierungs-Editor werden die .NET Framework-Versionen und die installierten Updates für jede Version in verschiedenen Unterschlüsseln gespeichert. Informationen zum Ermitteln der installierten Versionsnummern finden Sie unter Gewusst wie: Bestimmen der installierten .NET Framework-Versionen.
Abfragen mit Code
Im folgenden Beispiel werden die auf einem Computer installierten .NET Framework-Sicherheitsupdates und -Hotfixes programmgesteuert ermittelt:
using System;
using Microsoft.Win32;
public class GetUpdateHistory
{
public static void Main()
{
using (RegistryKey baseKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32).OpenSubKey(@"SOFTWARE\Microsoft\Updates"))
{
foreach (string baseKeyName in baseKey.GetSubKeyNames())
{
if (baseKeyName.Contains(".NET Framework"))
{
using (RegistryKey updateKey = baseKey.OpenSubKey(baseKeyName))
{
Console.WriteLine(baseKeyName);
foreach (string kbKeyName in updateKey.GetSubKeyNames())
{
using (RegistryKey kbKey = updateKey.OpenSubKey(kbKeyName))
{
Console.WriteLine(" " + kbKeyName);
}
}
}
}
}
}
}
}
Imports Microsoft.Win32
Public Class GetUpdateHistory
Public Shared Sub Main()
Using baseKey As RegistryKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32).OpenSubKey("SOFTWARE\Microsoft\Updates")
For Each baseKeyName As String In baseKey.GetSubKeyNames()
If baseKeyName.Contains(".NET Framework") Then
Using updateKey As RegistryKey = baseKey.OpenSubKey(baseKeyName)
Console.WriteLine(baseKeyName)
For Each kbKeyName As String In updateKey.GetSubKeyNames()
Using kbKey As RegistryKey = updateKey.OpenSubKey(kbKeyName)
Console.WriteLine(" " & kbKeyName)
End Using
Next
End Using
End If
Next
End Using
End Sub
End Class
Das Beispiel erzeugt eine Ausgabe, die der folgenden ähnelt:
Microsoft .NET Framework 4 Client Profile
KB2468871
KB2468871v2
KB2478063
KB2533523
KB2544514
KB2600211
KB2600217
Microsoft .NET Framework 4 Extended
KB2468871
KB2468871v2
KB2478063
KB2533523
KB2544514
KB2600211
KB2600217
Abfragen mithilfe von PowerShell
Im folgenden Beispiel werden die auf einem Computer installierten .NET Framework-Sicherheitsupdates und -Hotfixes mithilfe von PowerShell ermittelt:
$DotNetVersions = Get-ChildItem HKLM:\SOFTWARE\WOW6432Node\Microsoft\Updates | Where-Object {$_.name -like
"*.NET Framework*"}
ForEach($Version in $DotNetVersions){
$Updates = Get-ChildItem $Version.PSPath
$Version.PSChildName
ForEach ($Update in $Updates){
$Update.PSChildName
}
}
Das Beispiel erzeugt eine Ausgabe, die der folgenden ähnelt:
Microsoft .NET Framework 4 Client Profile
KB2468871
KB2468871v2
KB2478063
KB2533523
KB2544514
KB2600211
KB2600217
Microsoft .NET Framework 4 Extended
KB2468871
KB2468871v2
KB2478063
KB2533523
KB2544514
KB2600211
KB2600217