Procedura: Determinare gli aggiornamenti della sicurezza e gli aggiornamenti rapidi di .NET Framework installatiHow to: Determine which .NET Framework security updates and hotfixes are installed

Questo articolo illustra come trovare gli aggiornamenti della sicurezza e gli aggiornamenti rapidi di .NET Framework installati in un computer.This article shows you how to find out which .NET Framework security updates and hotfixes are installed on a computer.

Nota

Tutte le tecniche illustrate in questo articolo richiedono un account con privilegi amministrativi.All the techniques shown in this article require an account with administrative privileges.

Per trovare gli aggiornamenti installati usando il Registro di sistemaTo find installed updates using the registry

Gli aggiornamenti della sicurezza e gli aggiornamenti rapidi installati per ogni versione di .NET Framework installata in un computer sono elencati nel Registro di sistema di Windows.The installed security updates and hotfixes for each version of the .NET Framework installed on a computer are listed in the Windows registry. Per visualizzare queste informazioni, è possibile usare il programma Editor del Registro di sistema (regedit.exe).You can use the Registry Editor (regedit.exe) program to view this information.

  1. Aprire il programma regedit.exe.Open the program regedit.exe. In Windows 8 e versioni successive fare clic con il pulsante destro del mouse su Start Logo di Windows, quindi scegliere Esegui.In Windows 8 and later versions, right-click Start Windows logo, then select Run. Nella casella Apri immettere regedit e fare clic su OK.In the Open box, enter regedit and select OK.

  2. Nell'Editor del Registro di sistema aprire la seguente sottochiave:In the Registry Editor, open the following subkey:

    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Updates

    Gli aggiornamenti installati sono elencati nelle sottochiavi che identificano la versione di .NET Framework a che si applicano.The installed updates are listed under subkeys that identify the .NET Framework version they apply to. Ogni aggiornamento è identificato da un numero di Knowledge Base (KB).Each update is identified by a Knowledge Base (KB) number.

Nell'Editor del Registro di sistema le versioni di .NET Framework e gli aggiornamenti installati per ogni versione sono archiviati in sottochiavi diverse.In the Registry Editor, the .NET Framework versions and installed updates for each version are stored in different subkeys. Per informazioni sul rilevamento dei numeri delle versioni installate, vedere Procedura: Determinare le versioni di .NET Framework installate.For information about detecting the installed version numbers, see How to: Determine which .NET Framework versions are installed.

Per trovare gli aggiornamenti installati eseguendo una query sul Registro di sistema nel codiceTo find installed updates by querying the registry in code

L'esempio seguente consente di determinare gli aggiornamenti della sicurezza e gli aggiornamenti rapidi di .NET Framework installati in un computer a livello di codice:The following example programmatically determines the .NET Framework security updates and hotfixes that are installed on a computer:

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 questo esempio viene generato un output simile al seguente:The example produces an output that's similar to the following one:

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

Per trovare gli aggiornamenti installati eseguendo una query sul Registro di sistema in PowerShellTo find installed updates by querying the registry in PowerShell

L'esempio seguente illustra come determinare gli aggiornamenti della sicurezza e gli aggiornamenti rapidi di .NET Framework installati in un computer usando PowerShell:The following example shows how to determine the .NET Framework security updates and hotfixes that are installed on a computer using 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 questo esempio viene generato un output simile al seguente:The example produces an output that's similar to the following one:

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

Vedere ancheSee also

Procedura: Determinare le versioni di .NET Framework installateHow to: Determine which .NET Framework versions are installed
Installare .NET Framework per sviluppatoriInstall the .NET Framework for developers
Versioni e dipendenzeVersions and dependencies