Enabling a user for Lync and enterprise voice is easy, if you know how the Enable-CsUser cmdlet works.
You can always enable a user for Lync and enterprise voice in one go from the Lync control panel. You can assign all the policies as well from the GUI.
If you want to enable a user for Lync from the shell, the cmdlet we need to use is Enable-CsUser. In order to find user(s), the cmdlet is Get-CsUser.
The Get-CsUser cmdlet gives us most of the info regarding a user – like the SIP address, pool fqdn, whether the user is enabled for enterprise voice, various policies etc.
Hence, you would think that you can use the Enable-CsUser to enable a user for Lync and enterprise voice using the same cmdlet. Wrong! You need to use the Enable-CsUser and Set-Csuser. The reason for this is that the Enable-CsUser cmdlet doesn’t pass objects through the pipeline by default. You need to use the –PassThru paramter and pipe the output to the Set-CsUser cmdlet.
For example, to enable a user for Lync and EV, the command is as follows.
Enable-CsUser “user” –RegistrarPool “pool fqdn” –SIPAddressType EmailAddress –PassThru | Set-CsUser –EnterpriseVoiceEnabled $true
The Enable-CsUser does not have a EnterpriseVoiceEnabled parameter which you can set to $true. You can always break the commands into two and avoid using the –PassThru parameter as well.
This piece of info will come in handy if you are scripting the Lync administration – maybe in a migration or new Lync deployment.