I had to use SEFAUtil to get some tasks done the other day. As I prefer using PowerShell over just another command line tool, I decided to come up with a quick wrapper function that is intended to make my life a little easier.

If you don’t know what SEFAUtil is and how to configure it, check out this great post.Or this one if you prefer German ;) In a nutshell, it’s a command line tool to configure Lync Voice Features (like call forwarding, team call) on behalf of end-users.

Warning: I do not recommend using this in production without understanding what it does, although I did test it in my lab, it may break something!

Ok, having that said, how do I use thins thing? First of all you will need a copy of this script on the computer where you have been running SEFAUtil until now. As the computer is authenticated using a certificate, you will not be able to run this from anywhere. Once you downloaded the script, start a Lync Management Shell and use it like in the following examples.

What I did in this script, is basically wrap PowerShell around SEFAUtil.exe, I did add some parameter validation, it can only run against Lync users for example. It does write a logfile to the $temp directory and supports PowerShells common parameters like –Verbose and –WhatIf.


.\Invoke-SEFAUtil.ps1 -Server ly15.tomt.local -Username [email protected]

This example invokes SEFAUtil without additional parameters, call forwarding settings for the user [email protected] are shown.

.\Invoke-SEFAUtil.ps1 -Server ly15.tomt.local -Username [email protected] -EnableSimulRing +391231234567

This example enables Simul Ring for the user [email protected] The destination number for Simul Ring is +391231234567.

.\Invoke-SEFAUtil.ps1 -Server ly15.tomt.local -Username [email protected] -AddTeamMember [email protected]

This example adds [email protected] to [email protected] This will also enable Simul Ring for the user.

.\Invoke-SEFAUtil.ps1 -Server ly15.tomt.local -Username [email protected] -DelayRingTeam 10

This example set's the delay for Team Calls to 10 seconds for the user [email protected]

.\Invoke-SEFAUtil.ps1 -Server ly15.tomt.local -Username [email protected] -DisableTeamCall

This example disables Team Call for [email protected]



The latest version of the script can be found here:

Note: The script requires the Lync Module to be available on the Computer where it will be run, it does also require PowerShell version 3.

Note: Changing the CallAnswerTime only does not work, a limitation of the SEFAUtil.exe does not allow this setting to be changed without also configuring CallForwarding


so long,

This post has been migrated from our earlier blog based on BlogEngine.NET.