Windows Server ve Client işletim sistemlerinde .NET Framework sürümlerini öğrenmek çeşitli yazılım gereksinimleri ve uyumluluk kontrolleri için önemlidir. .NET Framework sürümlerini görüntülemek için PowerShell kullanarak kolayca sistem üzerinde yüklü olan tüm .NET Framework sürümlerini öğrenebiliriz.
Bu makalemde PowerShell komutları kullanarak yüklü olan tüm .NET Framework sürümlerini listeleme ve en son sürümü bulma adımlarını inceleyeceğiz.
PowerShell ile sistemde yüklü olan tüm .NET Framework sürümlerini listelemek için kayıt defterindeki .NET Framework Setup\NDP anahtarı kontrol edilir. Kayıt defteri (registry) her yüklü sürüm için belirli bir anahtar içerdiğinden PowerShell ile bu anahtarı okuyarak tüm sürümleri görebiliriz. Aşağıdaki PowerShell komutu yüklü olan tüm .NET Framework sürümlerini görüntüler.
Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP' -Recurse |
Get-ItemProperty -Name Version -ErrorAction SilentlyContinue |
Where-Object { $_.PSChildName -match '^(?!S)\p{L}'} |
Select-Object PSChildName, Version

Bu scirpt içerisinde yer alan;
- Get-ChildItem komutu, .NET Framework Setup\NDP dizininde yer alan tüm alt anahtarları (yüklü sürümleri) getirir.
- Get-ItemProperty komutu, her sürüm anahtarının Version bilgisini alır.
- Where-Object komutu bazı gereksiz alt anahtarları filtreleyerek yalnızca yüklü olan sürüm anahtarlarını listeler.
- Select-Object komutu anahtar adını ve sürüm bilgisini gösterir.
Bu komutu çalıştırdığınızda işletim sisteminde yüklü olan tüm .NET Framework sürümlerini içeren bir liste göreceksiniz. Örneğin .NET Framework 3.5, .NET Framework 4.7.2, vb. gibi tüm mevcut sürümler listelenir.
Eğer yalnızca en son yüklü olan .NET Framework sürümünü görüntülemek istiyorsanız belirli bir Release anahtarı kullanarak sürüm bilgisini alabilirsiniz. Windows kayıt defterinde .NET Framework Setup\NDP\v4\Full altında yer alan “Release” değeri, en son sürümün sürüm kodunu içerir.
$versionKey = 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full'
(Get-ItemProperty -Path $versionKey -Name Release -ErrorAction SilentlyContinue).Release | ForEach-Object {
switch ($_){
528040 { 'En son yüklü .NET Framework sürümü: 4.8 veya daha yeni' }
461808 { 'En son yüklü .NET Framework sürümü: 4.7.2' }
461308 { 'En son yüklü .NET Framework sürümü: 4.7.1' }
460798 { 'En son yüklü .NET Framework sürümü: 4.7' }
394802 { 'En son yüklü .NET Framework sürümü: 4.6.2' }
394254 { 'En son yüklü .NET Framework sürümü: 4.6.1' }
393295 { 'En son yüklü .NET Framework sürümü: 4.6' }
379893 { 'En son yüklü .NET Framework sürümü: 4.5.2' }
378675 { 'En son yüklü .NET Framework sürümü: 4.5.1' }
378389 { 'En son yüklü .NET Framework sürümü: 4.5' }
default { 'En son yüklü .NET Framework sürümü bilinmiyor' }
}
}

Bu komut ile doğrudan en son yüklü olan .NET sürümünü öğrenebilirsiniz. Örneğin, 4.8, 4.7.2 gibi sürüm bilgilerini verir.