Hangi .NET Framework güvenlik güncelleştirmelerinin ve düzeltmelerinin yüklendiğini belirleme

Bu makalede, bir bilgisayarda hangi .NET Framework güvenlik güncelleştirmelerinin ve düzeltmelerinin yüklü olduğunu nasıl bulabileceğiniz gösterilmektedir.

Güncelleştirme geçmişi

Kendi bilgisayarınızda hangi .NET Framework güncelleştirmelerinin yüklü olduğunu görmek için Ayarlar Windows Update Güncelleştirme>geçmişi'ne gidin. .NET Framework güncelleştirmeleri için Kalite Güncelleştirmeler bölümüne bakın. Örneğin, "Windows 11 için .NET Framework 3.5 ve 4.8.1 için 2023-11 Toplu Güncelleştirmesi, x64 için sürüm 22H2 (KB5032007)" gibi bir güncelleştirme görebilirsiniz.

Kayıt Defteri

Kayıt Defteri Düzenleyicisi'ni, kodu veya PowerShell'i kullanarak kayıt defterini sorgulayabilirsiniz.

Not

Tüm kayıt defteri teknikleri için yönetici ayrıcalıklarına sahip bir hesap gerekir.

Kayıt Defteri Düzenleyicisi'ni kullanma

Bir bilgisayara yüklenen .NET Framework'ün her sürümü için yüklü güvenlik güncelleştirmeleri ve düzeltmeleri Windows kayıt defterinde listelenir. Bu bilgileri görüntülemek için Kayıt Defteri Düzenleyicisi (regedit.exe) programını kullanabilirsiniz.

  1. Program regedit.exe açın. Windows 8 ve sonraki sürümlerde Başlat'a sağ tıklayıp Çalıştır'ı seçin.Windows tuşu logosunun ekran görüntüsü. kutusuna regedit yazın ve Tamam'ı seçin.

  2. Kayıt Defteri Düzenleyicisi'nde, aşağıdaki alt anahtarı açın:

    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Güncelleştirmeler

    Yüklü güncelleştirmeler, uygulandıkları .NET Framework sürümünü tanımlayan alt anahtarlar altında listelenir. Her güncelleştirme bir Bilgi Bankası (KB) numarasıyla tanımlanır.

Kayıt Defteri Düzenleyicisi'nde, her sürüm için .NET Framework sürümleri ve yüklü güncelleştirmeler farklı alt anahtarlarda depolanır. Yüklü sürüm numaralarını algılama hakkında bilgi için bkz . Nasıl yapılır: Hangi .NET Framework sürümlerinin yüklü olduğunu belirleme.

Kod kullanarak sorgulama

Aşağıdaki örnek, bir bilgisayara yüklenen .NET Framework güvenlik güncelleştirmelerini ve düzeltmelerini program aracılığıyla belirler:

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

Örnek, aşağıdakine benzer bir çıkış oluşturur:

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

PowerShell kullanarak sorgulama

Aşağıdaki örnekte, PowerShell kullanılarak bir bilgisayara yüklenen .NET Framework güvenlik güncelleştirmelerinin ve düzeltmelerinin nasıl belirleneceği gösterilmektedir:

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

Örnek, aşağıdakine benzer bir çıkış oluşturur:

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

Ayrıca bkz.