Windows 7 and later has a feature named FastUserSwitching. We all know about it, but ShoreTel do not understand it. The discussion about their setup bug goes back for more than one year now and they still do not listen after 4 case reopens. It is clear that ShoreTel development do not understand how thier own software and Windows works. So I decided to publish this information to help you running ShoreTel Communicator properly in your environment. This affect nearly every version for about 5 years or more, but has been fixed in Mitel MiVoice Connect R1803. If you may ask why FastUserSwitching need to be disabled - the answer is simple. ShoreTel Communicator's SoftPhone feature is not compatible with multiple users on the same computer. This VoIP EyeP driver under the hood does not allow more than one user on a computer.
FastUserSwitching is these neat featue you may like a lot at home. It allows users to login to a computer with several users at the same time without logging the other user out. A typical home users scenario.
Situation:
If FastUserSwitching is enabled (Windows default) the ShoreTel Softphone will only work for the first user and not for the other users as softphone only allows one user to be assigned to one computers IP address. Therefore the FastUserSwitching feature need to be disabled by ShoreTel setup as ShoreTel Communicator is not compatible with it. This is properly done for Windows XP in the Communicator setup, but is incorrect for Windows 7 and later.
- In Windows XP the registry key was named "AllowMultipleTSSessions" and the button on the logon screen was properly disabled to disallow more than one login at the same time to the same computer.
- In Windows 7 and later ShoreTel setup by fault configures HideFastUserSwitching from Windows default "0" to Windows default "0" (aeh - WTF?). It need to be set to "1" to disable the fast user switching feature in Windows. This is clearly the opposite of what ShoreTel want to do.
Someone at ShoreTel simply made a mistake as the registry keys have not renamed only by Microsoft in Windows 7, the default value has also changed. To disable FastLogon feature the required values are:
- Windows XP: AllowMultipleTSSessions=0
- Windows 7 and later: HideFastUserSwitching=1 (setup sets 0)
This setup bug need to be corrected for Windows 7 and later.
Solutions:
- The setup could be corrected with a MSI transform file or by the not listening ShoreTel guys who have no idea about Windows.
- The registry settings need to be removed from the ShoreTel setup with a MSI transform file. This is what is needed for an enterprise environment. Than use group policies to configure these settings that will no longer conflict with the setup. A try to convince ShoreTel to remove the incorrect registry keys from setup to recover the no longer applying GPO setting failed. ShoreTel should still better documented these FastUserSwitching requirement in their install notes / release notes and KB article, but as they are not listening we need to workaround the setup bug. Below the InstEd MSI editor is used to remove the registry change done by setup. Simply delete the two rows from the MSI.
Keep in mind that the setup conflicts with the GPOs. If you configure the GPO these GPO is only applied once and if Communicator get's deployed after this date it will override the registry keys again and breaks itself again. This may be the reason why you wonder that your GPOs are not applying "randomly". Below shows the group policy for Windows 7 and later.
- 2016/02/15: Bug report filed with ShoreTel.