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

Today I planned to work on Exchange 2013 in my LAB, thought of playing around with it. So I opened Exchange Management Shell and guess what I have been greeted with!!!

I started regedit on the server and went to the location "'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1" but I couldn't find "PowerShellEngine" Key at the location, it was missing.

Now, what are the options I have to fix it?
1: Reinstall PowerShell 1.0, well which would be hilariously crazy, as this is Windows Server 2012 R2.
2: I can take a look on other server (2008 or 2012) to see if the value is present.

So I looked at another server, which is Exchange 2010 running on Windows 2008 R2. And this is how it looks.

I can export PowerShellEngine Key, save it and move it on Windows 2012 and Import it under "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1". Or create all the 6 strings manually.

Well I chose to do manually ;). Created the Key "PowerShellEngine" under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1.
Created all 6 Strings under "PowerShellEngine". and copied the values from Windows Server 2008.
1: ApplicationBase
2: ConsoleHostAssemblyName
3: ConsoleHostModuleName
4: PowerShellVersion
5: PSCompatibleVersion
6: RuntimeVersion.

Restarted the server after creating the Key and Strings. And Exchange Management Shell started without any errors.


Leave a Reply