Share via


Bepalen welke .NET Framework-beveiligingsupdates en hotfixes zijn geïnstalleerd

In dit artikel leest u hoe u kunt achterhalen welke .NET Framework-beveiligingsupdates en hotfixes op een computer zijn geïnstalleerd.

Updategeschiedenis

Als u wilt zien welke .NET Framework-updates op uw eigen computer zijn geïnstalleerd, gaat u in Instellingen naar de geschiedenis van Windows Update Update>. Kijk onder de sectie Kwaliteitsupdates voor .NET Framework-updates. U ziet bijvoorbeeld een update die lijkt op '2023-11 Cumulatieve update voor .NET Framework 3.5 en 4.8.1 voor Windows 11, versie 22H2 voor x64 (KB5032007)'.

Register

U kunt een query uitvoeren op het register met behulp van registereditor, code of PowerShell.

Notitie

Voor alle registertechnieken is een account met beheerdersbevoegdheden vereist.

Register-editor gebruiken

De geïnstalleerde beveiligingsupdates en hotfixes voor elke versie van .NET Framework die op een computer zijn geïnstalleerd, worden vermeld in het Windows-register. U kunt het programma Registereditor (regedit.exe) gebruiken om deze informatie weer te geven.

  1. Open het programma regedit.exe. Klik in Windows 8 en hoger met de rechtermuisknop op StartSchermopname van het Windows-toetslogo. en selecteer Uitvoeren. Voer in het vak Openen regedit in en selecteer OK.

  2. Open in de Register-editor de volgende subsleutel:

    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Updates

    De geïnstalleerde updates worden vermeld onder subsleutels waarop de .NET Framework-versie wordt geïdentificeerd waarop ze van toepassing zijn. Elke update wordt geïdentificeerd met een Kb-nummer (Knowledge Base).

In de Register-editor worden de .NET Framework-versies en geïnstalleerde updates voor elke versie opgeslagen in verschillende subsleutels. Zie How to: Bepalen welke .NET Framework-versies zijn geïnstalleerd voor informatie over het detecteren van de geïnstalleerde versienummers.

Query's uitvoeren met behulp van code

Het volgende voorbeeld bepaalt programmatisch de .NET Framework-beveiligingsupdates en hotfixes die op een computer zijn geïnstalleerd:

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

In het voorbeeld wordt een uitvoer geproduceerd die vergelijkbaar is met de volgende uitvoer:

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

Query's uitvoeren met PowerShell

In het volgende voorbeeld ziet u hoe u de .NET Framework-beveiligingsupdates en hotfixes kunt bepalen die zijn geïnstalleerd op een computer met behulp van PowerShell:

$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
       }
}

In het voorbeeld wordt een uitvoer geproduceerd die vergelijkbaar is met de volgende uitvoer:

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

Zie ook