A quick heads-up on that .NET Framework 4.7 has recently been released and will be made available through Windows Update channels. The current versions of Exchange Server are not supported with this version of the .NET Framework, and you should not install or update to this version.
Similar to the situation with .NET Framework 4.61 around a year ago, you can prevent (accidental) upgrades of the .NET Framework by creating the following registry key on your Exchange servers:
HKLM:\Software\Microsoft\NET Framework Setup\NDP\WU\BlockNetFramework47 = 1 (REG_DWORD)
To report on the currently installed .NET Framework version on one or more computers, you can use this PowerShell script, Get-DotNetVersion.ps1. It will not only report the .NET Framework version information, but also if those registry entries to block .NET Framework 4.6.1 or .NET Framework 4.7 upgrades are present.
[PS] C:\> .\get-DotNetVersion.ps1 -ComputerName ex1,ex2 | ft -a Computer Release NetFramework Net461Block Net47Block -------- ------- ------------ ----------- ---------- ex1 461268 4.7 False True ex2 461268 4.7 False False
The related article by the Exchange Team on this topic contains steps on how to recover the situation, in case you did upgrade. Of course, with all the dependencies on the .NET Framework by Exchange Server, you may prefer migrating contents to a new Exchange servers with a supported .NET Framework, and decommission servers where you had to remove the unsupported .NET Framework from.
More information can be found in KB4024204.
PS: The updated Unattended Exchange 2013 & 2016 Installation script will now also set the .NET Framework 4.7 blockade registry key.
Excellent post Michel, and a very handy script to quickly check our .NET installations. Having to check that manually on 9 servers can be a pain 🙂 Thank you!
Pingback: .NET Framework 4.7 Kurmayın :) | Serhad MAKBULOĞLU
Pingback: Upgrade Paths for CU’s & .NET | EighTwOne (821)