Condividi tramite


Show me as Away when my status has been Inactive for this many minutes

 

 

Registry locations

HKCU\Software\Microsoft\Communicator\AwayThreshold

Allowed registry values

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

Registry value type

REG_DWORD

Default setting

5 minutes

 

As noted elsewhere , if your computer sits idle for 5 minutes then Lync will automatically update your status to Inactive. (That 5-minute timeout period is something you can modify if you wish.) After your status has been set to Inactive Lync begins a new count. If that second count reaches 5 minutes without any computer activity then Lync will change your status to Away.

 

Note. As implied above, the time interval is cumulative. By default, Lync waits 5 minutes to set your status to Inactive, then 5 more minutes to change your status to Away. That means your computer must sit idle for 10 minutes (5 + 5) before your status will be changed to Away.

 

If 10 minutes seems too long (or too short) an interval before your status gets changed to Away, hey, no problem: from within Lync itself you can change that interval to any value from 5 minutes to 360 minutes:

 

 

You can also change this interval by changing the registry value HKCU\SOFTWARE\Microsoft\Communicator\AwayThreshold; simply assign a value between 5 and 360, inclusive. What happens if you set the away threshold to a value lower than 5? That’s OK; in that case, Lync will automatically set the away threshold to 5. Likewise, if you set the away threshold to a value greater than 360 Lync will simply round that value down to the maximum threshold time of 360 minutes. A no-brainer? Well, we can’t say that for sure. But it’s awfully close.

 

After all, we were able to do this.

 

And speaking of doing this, the following Windows PowerShell script retrieves the current value of AwayThreshold from the local computer. If you'd prefer to get this value off a remote computer, simply set the value of the variable $computer to the name of that remote computer. For example:

 

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

 

Here's how you can retrieve the current value for the away timeout period:

 

$computer = "."

 

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

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

 

Write-Host "Show me as Away when my status has been Inactive for this" `

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

 

And here's a script that sets the value of AwayThreshold. In this case, the script sets the threshold to 10 minutes; that's done by setting AwayThreshold to 10. To set a different timeout value (say, 30 minutes) just set AwayThreshold to the desired value:

 

$key.SetValue("AwayThreshold",30,"DWORD")

 

Here's the script:

 

$computer = "."

 

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

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

 

$key.SetValue("AwayThreshold",10,"DWORD")