Show me as Inactive when my computer has been idle for this many minutes



Registry locations


Allowed registry values

Any integer value between 5 and 360, inclusive (represents time, in minutes)

Registry value type


Default setting

5 minutes


Broadcasting presence information to people is of little use if that information isn’t up-to-date; after all, what’s the point of announcing to people that you're available when it turns out that you really aren’t available? One way Microsoft Lync tries to help you keep your presence information up-to-date is by monitoring idle time on your computer: by default, if your computer has sat idle for 5 minutes (that is, if no one has typed anything on the keyboard or used the mouse in the past 5 minutes) then Lync automatically sets your current status to Inactive.


Note. Yes, for some of us Inactive probably is our permanent status. But that’s a different story.


If you don’t like the default period of 5 minutes of inactivity, well, that’s easy enough to change; in fact, that can either be done by using the Lync user interface or by writing a script. If you want to change this value using Lync, just open Status option of the Options dialog box and change the value of the Show me as Inactive when my computer has been idle for this many minutes box:



As for writing a script, that’s just as easy: all you have to do is modify the HKCU\SOFTWARE\Microsoft\Communicator\IdleThreshold registry value. Set IdleThreshold to any value between 5 and 360 and, in return, Lync will wait that number of minutes before marking you as Inactive.


We told you it was easy.




Before we show you how to change the idle timeout let's show you how to retrieve the current value of IdleThreshold from the local computer. If you'd prefer to retrieve this value from a remote computer, just set the value of the variable $computer to the name of that remote computer. For example:


$computer = ""


Here’s how you get the IdleThreshold value:


$computer = "."


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

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


Write-Host "Show me as Inactive when my computer has been idle for this" `

    " many minutes:",($key.GetValue("IdleThreshold",$null))


And here's how you change that value. In this case, the script sets the idle timeout period to 10 minutes; that's done by setting IdleThreshold to 10. What if you want to set the timeout period to 30 minutes? That's fine; just set IdleThreshold to 30:




Here's the script:


$computer = "."


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

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






Comments (1)

  1. Ghlee says:


    I would like to know how to prevent user from temper with the idle threshold to lock it down. I tried the options in ADM template but it did not work.


Skip to main content