Как проверить версию .NET Framework, установленную в Windows
В Windows вы можете установить и запустить несколько версий .NET Framework одновременно. При разработке или развертывании нового приложения на основе .NET-библиотек иногда необходимо заранее знать, какие версии и пакеты обновлений .Net Framework уже установлены на компьютере или сервере пользователя. Получить список версий .NET Framework, установленных на вашем компьютере, можно несколькими способами.
Проверка версии .NET Framework через реестр Windows
Когда вы устанавливаете или обновляете любую версию .NET Framework, изменения записываются в реестр Windows.
Запустите редактор реестра (
regedit.exe) и перейдите к разделу реестра HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP. Этот ключ регистрации содержит информацию обо всех версиях .NET на компьютере. Разверните любой подраздел и обратите внимание на следующие параметры (для .Net 4.x необходимо раскрыть подраздел Полный):
Install — флаг установки (если равен 1, то на компьютере установлена данная версия .Net);
-
Путь установки — каталог, в который установлена данная версия .Net;
Выпуск — номер выпуска .NET;
Версия — полный номер версии .Net Framework.
Совет. Для .NET 4.0 и новее отсутствие подраздела Full означает, что данная версия Framework не установлена на компьютере.
В этом примере вы можете видеть, что установлены .NET Framework v2.0.50727, 3.0, 3.5 и 7.0 (выпуск 460805).
Обратите внимание, что в серверных операционных системах, начиная с Windows Server 2012, все базовые версии .Net (3.5 и 4.5) устанавливаются как компоненты Windows (Установка .NET Framework 3.5 на Windows Server и Windows 10), а второстепенные (4.5.1, 4.5.2 и т. д.) устанавливаются как отдельные обновления через Центр обновления Windows или WSUS.
Используя следующую таблицу, вы можете сопоставить номер выпуска с версией .NET Framework (для .NET 4.5 и новее).
- Release Number
Версия .NET Framework
- 378389
.NET Framework 4.5
- 378675
-
NET Framework 4.5.1 в Windows 8.1 и Windows Server 2012 R2
- 378758
.NET Framework 4.5.1 в Windows 8, Windows 7 SP1, Windows Vista SP2
- 379893
.NET Framework 4.5.2
- 393295
.NET Framework 4.6 в Windows 10
- 393297
.NET Framework 4.6
- 394254
.NET Framework 4.6.1 в Windows 10 1511
- 394271
.NET Framework 4.6.1
- 394802
.NET Framework 4.6.2 в Windows 10 1607
- 394806
.NET Framework 4.6.2
- 460798
.NET Framework 4.7 в Windows 10 1703
- 460805
-
.NET Framework 4.7
- 461308
.NET Framework 4.7.1 в Windows 10 1709
- 461310
.NET Framework 4.7.1
- 461808
.NET Framework 4.7.2 в Windows 10 1803
- 461814
.NET Framework 4.7.2
- 528372
.NET Framework 4.8 в Windows 10 2004, 20H2 и 21H1
- 528040
.NET Framework 4.8 в Windows 10 1903 и 1909 годов
- 528449
.NET Framework 4.8 на Windows Server 2022 и Windows 11
- 528049
.NET Framework 4.8 (другие версии Windows)
.NET Framework 4.8 — это последняя доступная версия .NET Framework.
Как проверить версию .NET Framework с помощью PowerShell?
Вы можете получить информацию об установленных версиях и выпусках NET Framework на вашем компьютере с помощью PowerShell. Самый простой способ получить эту информацию непосредственно из реестра — использовать команду
Get-ChildItemи
Get-ItemPropertyкомандлеты (подробнее об управлении записями реестра с помощью PowerShell).
Чтобы отобразить список всех версий .Net Framework на компьютере, выполните команду:
Get-ChildItem ‘HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP’ -Recurse | Get-ItemProperty -Name version -EA 0 | Where { $_.PSChildName -Match ‘^(?!S)\p{L}’} | Select PSChildName, versionНа этом компьютере установлены .Net версий 2.0, 3.0, 3.5 и 4.7.
Начиная с .Net v4.0, новая версия Framework перезаписывает (заменяет) старую версию. Те, если на компьютере был установлен .NET Framework 4.7, то при установке .NET Framework 4.8 старая версия будет заменена.
Вы можете отобразить только номер выпуска (версии .Net 4.x):
(Get-ItemProperty ‘HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full’ -Name Release).ReleaseСогласно таблице номер 528449 соответствует .Net Framework 4.8 на Windows 11.
Получение списка установленных версий .NET на удаленных компьютерах
Вы можете удаленно получить список версий .Net Framework, установленных на компьютерах в вашей сети, с помощью PowerShell.
Вот небольшой скрипт PowerShell, который запрашивает список компьютеров из текстового файла и удаленно проверяет наличие установленных версий .Net Framework. Командлет WinRM Invoke-Command используется для запуска команд на удаленных компьютерах.
Function GetNetFrameworkVersion {
Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP' -recurse |
Get-ItemProperty -name Version,Release -EA 0 |
Where { $_.PSChildName -match '^(?![SW])\p{L}'} |
Select PSChildName, Version, Release, @{
name="Product"
expression={
switch -regex ($_.Release) {
"378389" { [Version]"4.5" }
"378675|378758" { [Version]"4.5.1" }
"379893" { [Version]"4.5.2" }
"393295|393297" { [Version]"4.6" }
"394254|394271" { [Version]"4.6.1" }
"394802|394806" { [Version]"4.6.2" }
"460798|460805" { [Version]"4.7" }
"461308|461310" { [Version]"4.7.1" }
"461808|461814" { [Version]"4.7.2" }
"528040|528049|528449|528372" { [Version]"4.8" }
{$_ -gt 528449} { [Version]"unidentified version (> 4.8)" }
}
}
}
}
$result=@()
$servers= Get-Content C:\Scripts\my_servers.txt
foreach ($server in $servers)
{
$result+=Invoke-Command -ComputerName $server -ScriptBlock $function:GetNetFrameworkVersion
}
$result| select PSComputerName,@{name = ".NET Framework"; expression = {$_.PSChildName}},Product,Version,Release| Out-GridViewСкрипт отображает графическую таблицу (через Out-GridView) со списком версий .Net Framework, установленных на удаленных компьютерах.
Вы также можете настроить список компьютеров, на которых нужно проверить версию .NET, следующим образом:
$servers= @("comp1","comp2","comp3","comp4")Или вы можете получить список компьютеров домена с помощью командлета Get-ADComputer (из модуля Active Directory для Windows PowerShell). Следующая команда выберет все активные хосты Windows Server в домене:
$servers= Get-ADComputer -Filter 'operatingsystem -like "*Windows server*" -and enabled -eq "true"'Как узнать версию .NET Framework с помощью CMD?
Все версии .NET Framework устанавливаются в следующие папки Windows:
%SystemRoot%\Microsoft.NET\Framework%SystemRoot%\Microsoft.NET\Framework64
Вы можете просто открыть эту папку и просмотреть список установленных версий .NET. Каждая версия имеет отдельный каталог с v и номером версии в качестве имени папки. Вы можете перечислить установленные версии .NET Framework из командной строки:
dir %WINDIR%\Microsoft.Net\Framework\v* /O:-N /BЭта команда выведет список всех установленных версий, кроме .NET 4.5, поскольку Framework 4.5+ устанавливается в подкаталог v4.0.xxxxx.




