PowerShell Script to Discover .NET Version

by Simon Sparks · 29 September 2020
# Before we do anything else, make sure we have a sufficient .NET version
if($PSVersionTable.PSEdition-eq'Desktop')
{
# https://docs.microsoft.com/en-us/dotnet/framework/migration-guide/how-to-determine-which-versions-are-installed#to-check-for-a-minimum-required-net-framework-version-by-querying-the-registry-in-powershell-net-framework-45-and-later
$netBuild=(Get-ItemProperty"HKLM:SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full").Release
if($netBuild-ge460798){<# 4.7.0+ - all good #>}
else{
if($netBuild-ge533320){$netVer='4.8.1'}
elseif($netBuild-ge528040){$netVer='4.8'}
elseif($netBuild-ge461808){$netVer='4.7.2'}
elseif($netBuild-ge461308){$netVer='4.7.1'}
elseif($netBuild-ge460798){$netVer='4.7'}
elseif($netBuild-ge394802){$netVer='4.6.2'}
elseif($netBuild-ge394254){$netVer='4.6.1'}
elseif($netBuild-ge393295){$netVer='4.6'}
elseif($netBuild-ge379893){$netVer='4.5.2'}
elseif($netBuild-ge378675){$netVer='4.5.1'}
Write-Warning"**********************************************************************"
Write-Warning"Insufficient .NET version. Found .NET$netVer (build$netBuild)."
Write-Warning".NET 4.7.1 or later is required to ensure proper functionality."
Write-Warning"**********************************************************************"
}
}

Discover more from Cloud Build Tools

Subscribe to get the latest posts sent to your email.

You may also like