Microsoft Teams – Manage User Call Forward and Unanswered Call Settings Using PowerShell – Set-CsUserCallingSettings

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 username@modern-workplace.uk -IsForwardingEnabled $false

Immediately forward all the calls to a phone number:

Set-CsUserCallingSettings -Identity username@modern-workplace.uk -IsForwardingEnabled $true -ForwardingType immediate -ForwardingTargetType singletarget -ForwardingTarget “Phone Number”

Immediately forward all the calls to a Teams user:

Set-CsUserCallingSettings -Identity username@modern-workplace.uk -IsForwardingEnabled $true -ForwardingType immediate -ForwardingTargetType singletarget -ForwardingTarget “destination_username@modern-workplace.uk

Simultaneously ring user’s delegates:

Set-CsUserCallingSettings -Identity username@modern-workplace.uk -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 username@modern-workplace.uk -IsUnansweredEnabled $true -UnansweredDelay 00:00:30 -UnansweredTargetType singleTarget -UnansweredTarget “telephonenumber”

1 thought on “Microsoft Teams – Manage User Call Forward and Unanswered Call Settings Using PowerShell – Set-CsUserCallingSettings”

  1. 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 dcaputo@enableuc.com -IsForwardingEnabled $False -ForwardingType immediate -ForwardingTargetType singletarget -ForwardingTarget “+14165551212”

    I have tried running Set-CsUserCallingSettings -Identity dcaputo@enableuc.com -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.

Leave a Reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload CAPTCHA.