Keep sounds to a minimum when my status is Busy

 

 

Registry locations

HKCU\Software\Microsoft\Communicator\suspendSoundWhenBusy

Allowed registry values

· 0 – Lync will not suppress sounds when your status is set to Busy

· 1 – Lync will suppress sounds when your status is set to Busy

Registry value type

REG_DWORD

Default setting

0: Sounds are not muted when your status is set to Busy

 

Let’s say you’re currently talking on the phone and your Microsoft Lync status has been set to Busy. Under those conditions, do you really want your computer to start chirping at you each time you get a new instant message, or each time one of your tagged contacts logs on or logs off? Well, maybe you do, and maybe you don’t. Either way, there’s a setting within Microsoft Lync that lets you decide whether or not you want sounds played any time you are Busy. You can find this setting on the Ringtones and Sounds tab in the Options dialog box:

 

 

So is there another way to configure this setting? Of course there is: just modify the HKCU\SOFTWARE\Microsoft\Communicator\suspendSoundWhenBusy registry value. (Yes, for some reason the initial s is lowercase. Go figure.) If you want Lync to keep quiet any time you’re Busy then set this value to 1. If it’s OK for Lync to make noise from time-to-time while you’re Busy then set this value to 0.

 

All in all, pretty simple and straightforward.

 

The following PowerShell script shows how you can retrieve the current value of suspendSoundWhenBusy from the local computer. If you'd prefer to retrieve that information from a remote computer, set the value of the variable $computer to the name of that remote computer. For example:

 

$computer = "atl-ws-001.litwareinc.com"

 

That also seems pretty simple and straightforward, doesn't it?

 

Here's the script that retrieves the suspendSoundWhenBusy value:

 

$computer = "."

 

$registry = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey("CurrentUser", $computer)

$key = $registry.OpenSubKey("SOFTWARE\Microsoft\Communicator", $True)

 

$value =$key.GetValue("suspendSoundWhenBusy",$null)

if ($value -eq 1) {$value = "Yes"}

if ($value -eq 0) {$value = "No"}

Write-Host "Keep sounds to a minimum when my status is Busy: $value"

 

And here's a script that lets you change that value. In this case, the script tells Lync to suspend sounds any time you're busy; that's done by setting suspendSoundWhenBusy to 1. To allow sounds to play even when you're busy, set suspendSoundWhenBusy to 0:

 

$key.SetValue("suspendSoundWhenBusy",0,"DWORD")

 

Here's how you change the value:

 

$computer = "."

 

$registry = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey("CurrentUser", $computer)

$key = $registry.OpenSubKey("SOFTWARE\Microsoft\Communicator", $True)

 

$key.SetValue("suspendSoundWhenBusy",1,"DWORD")