Windows 10にインストールされている .NET Framework のバージョンを調べるのはなかなか難しいですよね。
以前は .NET Framework のバージョンを調べられるフリーウェアがあったのに、今はなくなってしまいました。
それで調べてみたところ、レジストリの値で .NET Framework のバージョンを調べる方法を Microsoft が公開していました。
C#のプログラムが公開されていたのですがビルドが面倒なので、そのプログラムを PowerShell に移植したものを公開します。
# # Windows 10にインストールされている.NET Frameworkのバージョンを調べるスクリプト ver.1.0 # function CheckFor45PlusVersion($releaseKey) { if ($releaseKey -ge 528040) { return "4.8 or later" } if ($releaseKey -ge 461808) { return "4.7.2" } if ($releaseKey -ge 461308) { return "4.7.1" } if ($releaseKey -ge 460798) { return "4.7" } if ($releaseKey -ge 394802) { return "4.6.2" } if ($releaseKey -ge 394254) { return "4.6.1" } if ($releaseKey -ge 393295) { return "4.6" } if ($releaseKey -ge 379893) { return "4.5.2" } if ($releaseKey -ge 378675) { return "4.5.1" } if ($releaseKey -ge 378389) { return "4.5" } return "No 4.5 or later version detected"; } $subkey = 'SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\' $ndpKey = [Microsoft.Win32.RegistryKey]::OpenBaseKey([Microsoft.Win32.RegistryHive]::LocalMachine, [Microsoft.Win32.RegistryView]::Registry32).OpenSubKey($subkey) if (-![string]::IsNullOrEmpty($ndpKey) -and -![string]::IsNullOrEmpty($ndpKey.GetValue("Release"))) { $version = CheckFor45PlusVersion($ndpKey.GetValue("Release")) echo ".NET Framework Version: $version." } else { echo ".NET Framework Version 4.5 or later is not detected." }
スクリプトを保存して実行した結果は以下のようになります。
PS > .\script.ps1 .NET Framework Version: 4.7.2.
ライセンスは、MITライセンスで公開します。