Today comes a really weird situation. Microsoft has decided to make our lives as administrators harder. They have decided to write S4B servers to not understand some of the Lync 2013 attribute values.
Environment: Lync 2013 Enterprise Upgraded to S4B Enterprise with Exchange online/Exchange Hybrid (Exchange Unified Messaging in Exchange Online)
When you install Lync Servers you add new attributes into your AD schema. These same attributes are used in S4B.The HostedVoicemail CSuser Property is something is broken during the upgrade to S4B.If you set the user’s HostedVoicemail property in Lync before the upgrade, S4B will not allow you to adjust it through powershell. Yet any new user in S4B ( or a user that doesn’t have this property set) you can adjust it without any issues.
S4B doesn’t recognize the ad attribute values for hostedvoicemail from Lync 2013
The specific attribute I am talking about is listed when you run get-csuser is Hosted Voicemail
When I run Set-CSuser to change this value it comes back with an error saying the value is not recognized
set-csuser : HostedVoiceMail property contains a value that is not recognized
by Skype for Business Server.
This CS property is actually stored in AD as an attribute. The attribute that stores this AD property is called msEXCHUCVoiceMailSettings. You can find this under the attribute editor of your user accounts.
In Lync 2013 the value that represents True is ExchangeHostedVoiceMail=1
In Skype for Business the value that represents True is CSHostedVoicemail=1
In order for S4B to allow you to change the CS Property, it must be a value it understands. So you have to manually change the attribute to CSHostedVoicemail=1 for All of your users that were upgraded from Lync 2013 to S4B
Currently the only fix I have been able to come up with is to build a powershell script to check all users to see if they are S4B enabled, and that they have the Lync 2013 value. Then swap it with the S4B Value. Once that has been done, you will be able to set the CS Property to either true or false.