Dela via


Så här avgör du vilka .NET Framework-säkerhetsuppdateringar och snabbkorrigeringar som är installerade

Den här artikeln visar hur du tar reda på vilka .NET Framework-säkerhetsuppdateringar och snabbkorrigeringar som är installerade på en dator.

Uppdateringshistorik

Om du vill se vilka .NET Framework-uppdateringar som är installerade på din egen dator går du till Inställningar och går till Uppdateringshistorik> för Windows. Under avsnittet Kvalitetsuppdateringar hittar du .NET Framework-uppdateringar. Du kan till exempel se en uppdatering som liknar "2023-11 Kumulativ uppdatering för .NET Framework 3.5 och 4.8.1 för Windows 11, version 22H2 för x64 (KB5032007)".

Register

Du kan köra frågor mot registret med hjälp av Registereditorn, kod eller PowerShell.

Kommentar

Alla registertekniker kräver ett konto med administratörsbehörighet.

Använda Registereditorn

Installerade säkerhetsuppdateringar och snabbkorrigeringar för varje version av .NET Framework som är installerad på en dator visas i Windows-registret. Du kan använda programmet Registereditorn (regedit.exe) för att visa den här informationen.

  1. Öppna programmet regedit.exe. I Windows 8 och senare versioner högerklickar du på StartSkärmbild av Windows-nyckellogotypen. och väljer sedan Kör. I rutan Öppna anger du regedit och väljer OK.

  2. Öppna följande undernyckel i Registereditorn:

    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Updates

    De installerade uppdateringarna visas under undernycklar som identifierar den .NET Framework-version som de gäller för. Varje uppdatering identifieras med ett kunskapsbasnummer (KB).

I registereditorn lagras .NET Framework-versionerna och installerade uppdateringar för varje version i olika undernycklar. Information om hur du identifierar de installerade versionsnumren finns i Så här avgör du vilka .NET Framework-versioner som är installerade.

Fråga med hjälp av kod

I följande exempel fastställs programmatiskt de .NET Framework-säkerhetsuppdateringar och snabbkorrigeringar som är installerade på en dator:

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

Exemplet genererar utdata som liknar följande:

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

Fråga med PowerShell

I följande exempel visas hur du fastställer säkerhetsuppdateringar och snabbkorrigeringar för .NET Framework som är installerade på en dator med 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
       }
}

Exemplet genererar utdata som liknar följande:

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

Se även