There are no perl modules for Lync. No open source clients. Windows Powershell can do some things with it, but only on the server on which the server software is installed.
It would be useful to be able to forward a certain desk phone number (we use Lync for voip) to a personal cell phone. We can do this from our own desktop machines, but only using the Lync client. It would be nice to be able to have a cron script run that just did rotations, I wouldn't have to carry around the lousy on-call phone with me.
communicator.exe doesn't take any useful parameters. Nor are there any obvious function names in the DLLs that would let me just use rundll32.exe to accomplish this. There is a Lync SDK, but no examples of changing phone forwarding, and my Windows 7 machine refuses to install the Silverlight SDK dependency for some reason I can't fathom.
Does anyone have any other ideas how I might accomplish this?
The usual way to set forwarding and other call-handling for a third party (that is, not from your own Lync client) is SEFAUtil, which is part of the ResKit.
You have to add SEFAUtil as a Trusted Application to your Lync pool, and then you can write a .cmd file and set it as a scheduled task to change the forwarding settings.
http://technet.microsoft.com/en-us/library/jj945659.aspx
SEFAUtil has some incredibly kludgy syntax, but there it is. I do not recommend trying to write directly to the database.
For anyone who actually wants to dig into manipulating SEFAUtil, Johan Veldhuis' SEFAUtil GUI PowerShell script is a good place to start understanding: http://johanveldhuis.nl/en/sefautil-gui/