Jak zjistit, které aktualizace zabezpečení a opravy hotfix rozhraní .NET Framework jsou nainstalovány

Tento článek ukazuje, jak zjistit, které aktualizace zabezpečení rozhraní .NET Framework a opravy hotfix jsou nainstalovány v počítači.

Historie aktualizací

Chcete-li zjistit, které aktualizace rozhraní .NET Framework jsou nainstalovány ve vašem počítači, přejděte v Nastavení do služba Windows Update> Aktualizace historie. Projděte si část Aktualizace pro zvýšení kvality pro aktualizace rozhraní .NET Framework. Můžete například vidět aktualizaci podobnou "kumulativní aktualizaci 2023-11 pro rozhraní .NET Framework 3.5 a 4.8.1 pro Windows 11 verze 22H2 pro x64 (KB5032007)".

Registr

Registr můžete dotazovat pomocí Editoru registru, kódu nebo PowerShellu.

Poznámka:

Všechny techniky registru vyžadují účet s oprávněními správce.

Použití Editoru registru

Nainstalované aktualizace zabezpečení a opravy hotfix pro každou verzi rozhraní .NET Framework nainstalované v počítači jsou uvedeny v registru systému Windows. K zobrazení těchto informací můžete použít program Editor registru (regedit.exe).

  1. Otevřete regedit.exe programu. Ve Windows 8 a novějších verzích klepněte pravým tlačítkem myši na StartSnímek obrazovky s logem klávesy Windows a pak vyberte Spustit. Do pole Otevřít zadejte regedit a vyberte OK.

  2. V editoru registru otevřete následující podklíč:

    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Updates

    Nainstalované aktualizace jsou uvedeny v podklíčích, které určují verzi rozhraní .NET Framework, na kterou se vztahují. Jednotlivé aktualizace jsou označeny číslem znalostní báze Knowledge Base (KB).

V editoru registru jsou verze rozhraní .NET Framework a nainstalované aktualizace pro jednotlivé verze uloženy v různých podklíčích. Informace o zjišťování nainstalovaných čísel verzí naleznete v tématu Postupy: Určení nainstalovaných verzí rozhraní .NET Framework.

Dotazování pomocí kódu

Následující příklad programově určuje aktualizace zabezpečení rozhraní .NET Framework a opravy hotfix nainstalované v počítači:

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

Příklad vytvoří výstup podobný následujícímu:

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

Dotazování pomocí PowerShellu

Následující příklad ukazuje, jak určit aktualizace zabezpečení rozhraní .NET Framework a opravy hotfix nainstalované v počítači pomocí PowerShellu:

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

Příklad vytvoří výstup podobný následujícímu:

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

Viz také