如何以编程方式将用户签入响应组

时间:2016-10-13 11:02:28

标签: .net lync-2013

我用以下命令尝试了这个:

$x = Get-CsRgsAgentGroup -Identity service:ApplicationServer:LyncFEG.DOMAIN.co.uk/6156f51c-f0b3-4685-b7cc-2b1282a76548 -Name 'ITSupport'
$x.AgentsByUri.Add("sip:user@DOMAIN.com")
Set-CsRgsAgentGroup -Instance $x

但这似乎没有效果。

我可以看到,当我致电$x.AgentsByUri时,我感兴趣的用户已经在群组中:

AbsolutePath   : user@domain.com
AbsoluteUri    : sip:user@domain.com
LocalPath      : user@domain.com
Authority      : 
HostNameType   : Unknown
IsDefaultPort  : True
IsFile         : False
IsLoopback     : False
PathAndQuery   : user@domain.com
Segments       : {user@domain.com}
IsUnc          : False
Host           : 
Port           : -1
Query          : 
Fragment       : 
Scheme         : sip
OriginalString : sip:user@domain.com
DnsSafeHost    : 
IdnHost        : 
IsAbsoluteUri  : True
UserEscaped    : False
UserInfo       : 

但是当我手动检查他们的回复组设置(通过Skype)时,我发现他们没有签署'到那个组,所以他们没有接到任何对该组的电话:

enter image description here

我还将这些属性与签名用户的属性进行了比较,它们看起来完全相同。

最后,我尝试在添加用户之前将其从组中删除(使用第一种方法),但这没有效果。

是否可以使用PowerShell将Lync 2013用户签名到其呼叫响应组?

1 个答案:

答案 0 :(得分:0)

执行此操作的一种方法是运行以下JSCript:

var ie = WSH.CreateObject('InternetExplorer.Application');
    url = "https://LYNCSERVER/RgsClients/Tab.aspx",

ie.visible = true;
ie.Navigate(url);
while (ie.readyState != 4) WSH.Sleep(25);

ie.document.getElementById('ctl05_ctl00_ctl04_ctl00_ctl00_ctl01').click();
ie.quit()

其中'ctl05_ctl00_ctl04_ctl00_ctl00_ctl01'是用户签名所需响应组(在本例中为IT支持)的复选框的ID。

此解决方案确实运行良好,但我不想将其用作:

  1. 它与浏览器的UI交互,而不是直接与Lync服务器,SDK或API交互(仍然不确定这是否可行) - 这似乎不是理想的方法。

  2. 这个脚本需要在每个用户的PC上单独运行(除非我们可以实现某种模拟),我更喜欢可以集中运行的解决方案。

相关问题