We had an issue with a client migrating from Exchange 2007 to 2013 where we couldn’t access ECP on any of the new 2013 CAS servers.  Instead we received the following:

500 Unexpected error  : (  An error occurred and your request couldn’t be completed. Please try again.

ecp500error

We also noticed that although the Exchange Management Shell would successfully open and operate, on first opening it we received an error that contained the following message:

Unable to determine the installed file version from the registry key ‘HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\PowerShellEngine’. 

After much troubleshooting (reinstalling CAS servers, deleting/recreating ECP folders, checking permissions, etc.) we found that we needed to install the “Windows PowerShell 2.0 Engine” feature from Server Manager (this also installed .NET 3.5).  These features needed to be installed on ALL of the new 2013 Exchange servers and not just the CAS servers.

Although these features aren’t a prerequisite for a 2007 to 2013 migration, there must’ve been something in the existing AD/Exchange environment that required it.  Hope this helps someone else!