The latest release of the Microsoft Teams cmdlets module (MicrosoftTeams 3.0.1-preview) added functionalities to the Set-CsUserCallingSettings command, finally allowing Teams administrators to manage users’ forwarding and unanswered calls settings from PowerShell.
Note: to install the Public Preview of the Microsoft Teams Module use “Install-Module -Name MicrosoftTeams -AllowPrerelease“
The Set-CsUserCallingSettings uses the logic you can see in the diagram below
Here are some practical usage examples:
Remove Call Forward for the Teams’ user:
Set-CsUserCallingSettings -Identity [email protected] -IsForwardingEnabled $false
Immediately forward all the calls to a phone number:
Set-CsUserCallingSettings -Identity [email protected] -IsForwardingEnabled $true -ForwardingType immediate -ForwardingTargetType singletarget -ForwardingTarget “Phone Number”
Immediately forward all the calls to a Teams user:
Set-CsUserCallingSettings -Identity [email protected] -IsForwardingEnabled $true -ForwardingType immediate -ForwardingTargetType singletarget -ForwardingTarget “destination_[email protected]“
Simultaneously ring user’s delegates:
Set-CsUserCallingSettings -Identity [email protected] -IsForwardingEnabled $true -ForwardingType Simultaneous -ForwardingTargetType MyDelegates
If the call is unanswered (after the call forward process), the -IsUnansweredEnabled must be enabled with the logic in the diagram below
For example, with the following command, you can add a redirection to a phone number if the call is unanswered for 30 seconds
Set-CsUserCallingSettings -Identity [email protected] -IsUnansweredEnabled $true -UnansweredDelay 00:00:30 -UnansweredTargetType singleTarget -UnansweredTarget “telephonenumber”
Thanks Fabrizio,
I wanted to point out one annoying factor about this cmdlet which I hope the product group will change. If you are an Admin and are just looking a change a user or multiple users so that their phones are all forwarded to a number for example, the following cmdlet will not work if the users’ current setting is to send unanswered calls to Voicemail.
For example, running this results in errors due to the fact I have voicemail forwarding enabled. This cmdlet only works if I first have the user manually disable forwarding to voicemail on unanswered calls.
Set-CsUserCallingSettings -Identity [email protected] -IsForwardingEnabled $False -ForwardingType immediate -ForwardingTargetType singletarget -ForwardingTarget “+14165551212”
I have tried running Set-CsUserCallingSettings -Identity [email protected] -IsUnansweredEnabled $False ahead of the previous cmdlet with no luck.
Given this cmdlet is still in Preview, I’m hoping this will be addressed by the Product Group.