我在一家大型机构的信息系统部门工作。处理我们电话的 Lync 服务器由另一个部门处理,任何需要他们合作的解决方案都是不可行的。这排除了任何需要额外权限的解决方案,从 Lync 服务器、SEFAUtil 等运行。
我的个人 Lync 2013 客户端有一些令人讨厌的 GUI 菜单,我可以在其中将我的桌面电话转发到另一个号码。因此我知道理论上这是可能的。
我有 powershell 代码(安装了大量的 SDK)将使用我自己的个人凭据登录。我从中获取的博客允许脚本发送一些任意 IM 消息(对我来说不是很有用)。它看起来像这样:
if (-not (Get-Module -Name Microsoft.Lync.Model)) {
try {
Import-Module -Name (Join-Path -Path ${env:ProgramFiles} -ChildPath "Microsoft Office\Office15\LyncSDK\Assemblies\Desktop\Microsoft.Lync.Model.dll")
-ErrorAction Stop
}
catch {
Write-Warning "Microsoft.Lync.Model not available, download and install the Lync 2013 SDK http://www.microsoft.com/en-us/download/details.aspx?id=36824" break
}
}
$client = [Microsoft.Lync.Model.LyncClient]::GetClient()
if ($client.State -ne [Microsoft.Lync.Model.ClientState]::SignedIn) {
$client.EndSignIn(
$client.BeginSignIn("x@x.com", "domain\johno", "youllNeverGuess", $null, $null))
}
if ($Client.State -eq "SignedIn") {
Write-Host "DEBUG: We managed to sign in!" }
}
这似乎有效,因为如果我提供了错误的密码,它就会出错。
在 SDK 中,是否可以将呼叫转发设置为特定号码?微软可怕的文档演示了如何转发脚本通过事件处理程序捕获的传入呼叫,这意味着它必须在轮询循环中运行……而且我不能只遍历要转发的帐户列表。从 GUI 客户端,如果您将手机设置为转发到一个号码,即使您关闭机器电源,它也会保持不变,因此它会向半永久性的服务器发送一些东西。Lync SDK 可以完成同样的任务吗?
虽然 Lync 2010 已被弃用,但我会对基于此的解决方案感到满意。Powershell 是首选,但如果您有 VB 或 C# 中的代码,那也可以。我不需要把整个东西都放在一个银盘上,只需要一些线索就可以了。