op Windows kunt u meerdere versies van het.NET Framework tegelijkertijd installeren en uitvoeren. Bij het ontwikkelen of implementeren van een nieuwe toepassing op basis van.net libraries, moet u soms van tevoren weten welke versies en servicepakketten van het. NET Framework al op de computer of server van de gebruiker zijn geïnstalleerd. U kunt een lijst van de.NET Framework versies geïnstalleerd op uw computer op verschillende manieren.
ik controleer het .NET Framework versie via het Windows register
wanneer u een versie van het.NET Framework installeert of bijwerkt, worden de wijzigingen naar het Windows register geschreven.
Voer de Register-Editor (regedit.exe
) uit en ga naar registersleutel HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP. Deze reg-sleutel bevat informatie over alle versies van.net op de computer. Breid elke subsleutel uit en let op de volgende parameters (voor. NET 4.x U moet de volledige subsleutel uitbreiden):
- Install-installatie vlag (indien gelijk aan 1, dan is deze versie van .Net is geïnstalleerd op de computer);
- installatiepad-de map waarin deze.net — versie is geïnstalleerd;
- Release—. net release number;
- versie-het volledige versienummer van. NET Framework.
In dit voorbeeld kunt u zien dat het.NET Framework v2.0.50727, 3.0, 3.5 en 7.0 (release 460805) zijn geïnstalleerd.
met de volgende tabel kunt u het releasenummer toewijzen aan de versie van het.NET Framework (voor. NET 4.5 en nieuwer).
Releasenummer | .NET Framework versie |
378389 | .NET Framework 4.5 |
378675 | NET Framework 4.5.1 op Windows 8.1 en Windows Server 2012 R2 |
378758 | .NET Framework 4.5.1 op Windows 8, Windows 7 SP1, Windows Vista SP2 |
379893 | .NET Framework 4.5.2 |
393295 | .NET Framework 4.6 op Windows 10 |
393297 | .NET Framework 4.6 |
394254 | .NET Framework 4.6.1 op Windows 10 1511 |
394271 | .NET Framework 4.6.1 |
394802 | .NET Framework 4.6.2 op Windows 10 1607 |
394806 | .NET Framework 4.6.2 |
460798 | .NET Framework 4.7 op Windows 10 1703 |
460805 | .NET Framework 4.7 |
461308 | .NET Framework 4.7.1 op Windows 10 1709 |
461310 | .NET Framework 4.7.1 |
461808 | .NET Framework 4.7.2 op Windows 10 1803 |
461814 | .NET Framework 4.7.2 |
528372 | .NET Framework 4,8 op Windows 10 2004, 20H2, en 21H1 |
528040 | .NET Framework 4,8 op Windows 10 1903 en 1909 |
528449 | .NET Framework 4,8 op Windows Server 2022 en Windows 11 |
528049 | .NET Framework 4.8 (andere Window versies) |
Hoe controleert u de .NET Framework versie met PowerShell?
u kunt informatie krijgen over geïnstalleerde versies en releases van het NET Framework op uw computer met behulp van PowerShell. De eenvoudigste manier om deze informatie rechtstreeks uit het register te krijgen is door de Get-ChildItem
en Get-ItemProperty
cmdlets te gebruiken (meer over het beheren van registervermeldingen met PowerShell).
als u een lijst wilt weergeven van alle versies van het. NET Framework op een computer, voert u het commando:
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 versies 2.0, 3.0, 3.5 en 4.7 zijn geïnstalleerd op deze computer.
u kunt alleen het releasenummer voor (. NET 4.X-versies):
(Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full' -Name Release).Release
volgens de tabel komt het nummer 528449 overeen met het.NET Framework 4.8 op Windows 11.
Lijst Geïnstalleerd .NET-versies op externe Computers
u kunt op afstand een lijst krijgen van de.NET Framework-versies die op computers in uw netwerk zijn geïnstalleerd met behulp van PowerShell.
hier is een klein PowerShell-script dat een lijst met computers opvraagt vanuit een tekstbestand en op afstand controleert op geïnstalleerde versies van het.NET-Framework. De WinRM Invoke-Command cmdlet wordt gebruikt om opdrachten uit te voeren op externe computers.
Function GetNetFrameworkVersion {
Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP' -recurse |
Get-ItemProperty -name Version,Release -EA 0 |
Where { $_.PSChildName -match '^(?!)\p{L}'} |
Select PSChildName, Version, Release, @{
name="Product"
expression={
switch -regex ($_.Release) {
"378389" { "4.5" }
"378675|378758" { "4.5.1" }
"379893" { "4.5.2" }
"393295|393297" { "4.6" }
"394254|394271" { "4.6.1" }
"394802|394806" { "4.6.2" }
"460798|460805" { "4.7" }
"461308|461310" { "4.7.1" }
"461808|461814" { "4.7.2" }
"528040|528049|528449|528372" { "4.8" }
{$_ -gt 528449} { "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
het script toont een grafische tabel (via Out-GridView) met een lijst van.NET Framework versies geïnstalleerd op externe computers.
u kunt ook een lijst met computers instellen waarop de. net-versie als volgt moet worden gecontroleerd:
$servers= @("comp1","comp2","comp3","comp4")
u kunt ook een lijst met Domeincomputers krijgen met de cmdlet Get-ADComputer (uit de module Active Directory voor Windows PowerShell). Het volgende commando selecteert alle actieve Windows Server hosts in het domein:
$servers= Get-ADComputer -Filter 'operatingsystem -like "*Windows server*" -and enabled -eq "true"'
hoe te achterhalen. NET Framework versie met CMD?
alle versies van de .NET Framework zijn geïnstalleerd in de volgende Windows-mappen:
%SystemRoot%\Microsoft.NET\Framework
%SystemRoot%\Microsoft.NET\Framework64
u kunt gewoon openen die map en zie een lijst met geïnstalleerde. net-versies. Elke versie heeft een aparte map met een v en een versienummer als mapnaam. U kunt de geïnstalleerde versies van het. NET Framework weergeven vanaf de opdrachtprompt: