这里所说的Lync Server管理,指通过C#管理Lync账号的启用,禁用,开启账户的语音功能。

  Lync服务器安装后,会自动创建一个用于远程管理的应用程序,通过IIS查看,其应用程序名为:

  Lync Server Internal Web Site下边的OcsPowershell,通过浏览他的目录可以看出,这个是Lync用于远程执行管理命令的一个WebService,准备工作做好之后,接下来就可以测试连接。

  1、引用System.Management.Automation.dll

  项目依赖于这个dll,地址在:C:\Program Files\Reference Assemblies\Microsoft\WindowsPowerShell\v1.0\System.Management.Automation.dll,这个应该是电脑安装了Power Shell才会有的;

  2、创建远程运行空间

  

using System.Management.Automation;
using System.Management.Automation.Runspaces;
using System.Management.Automation.Host;
using System.Security;
using System;
using System.Collections.ObjectModel;
public class RemoteRunspace //: IRunspace
{
/// <summary>
/// 远程运行空间创建成功后,就可以创建管理,运行Lync管理命令
/// </summary>
/// <returns></returns>
public Runspace CreateRunspace()
{
//Lync管理webservice地址
string uri = "https://服务器名/OcsPowerShell";
//命令解析uri
string shellUri = "http://schemas.microsoft.com/powershell/Microsoft.Powershell";
//管理账户
string userName = "xxx";
//管理密码
string userPwd = "xxx";
char[] userPwds = userPwd.ToCharArray();
SecureString secPwd = new SecureString();
foreach (char c in userPwds)
{
secPwd.AppendChar(c);
}
RunspaceConfiguration config = RunspaceConfiguration.Create();
WSManConnectionInfo connInfo = new WSManConnectionInfo(new Uri(uri), shellUri, new PSCredential(userName, secPwd));
Runspace runspace = RunspaceFactory.CreateRunspace(connInfo);
try
{
runspace.Open();
System.Console.WriteLine("创建Remote Runspace成功!");
return runspace;
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
return null;
}
} }

  

  3、远程运行空间创建成功后,就可以创建管理,运行Lync管理命令

 

 /// <summary>
/// 远程运行空间创建成功后,就可以创建管理,运行Lync管理命令
/// </summary>
/// <param name="commandText"></param>
/// <returns></returns>
public Collection<PSObject> ExcuteCmand(string commandText)
{
using (var runspace = GetRunspace())
{
using (Pipeline pipe = runspace.CreatePipeline())
{
Command cmd = new Command(commandText, true);
pipe.Commands.Add(cmd);
return pipe.Invoke();
}
}

  

    }

  

  现在我们可以通过这种方式,远程执行各种管理命令,而不需要再登陆到Lync服务器。

  Exchange服务器的管理类似Lync,这方面微软做的还是不错的。

  4、常用的Lync管理命令

  启用:Enable-CsUser -Identity xx -RegistrarPool (lync注册池) -SipAddressType

  禁用:Disable-CsUser -identity xx

  开启语音功能:Set-CsUser -identity xx -EnterpriseVoiceEnable $true -LineURI "TLE:xx"

最新文章

  1. HTML5 学习笔记(三)——本地存储
  2. WPF入门教程系列十四——依赖属性(四)
  3. EF-CodeFirst-1 玩起来
  4. 【131031】struts 1 中 &lt;html:form&gt;
  5. Java系列: 关于HttpSessionListener的sessionDestroyed什么时候触发
  6. C++泛型编程原理
  7. 菜鸟搭建Android环境~~~~绝对靠谱
  8. 从WeUI学习到的知识点
  9. CSS3 resize属性 调整div大小
  10. Bzoj 3781: 小B的询问 莫队,分块,暴力
  11. JavaScript高级编程
  12. JS复习:第八章
  13. 【转载】JAVA中综合接口和抽象类实现的一种“抽象接口”
  14. Vue-admin工作整理(九): 状态管理Vuex-state和getters
  15. Day3--Python--字符串,for循环,迭代
  16. 二、ARM处理器
  17. Linux 操作系统下,安装软件 apt-get、yum 的区别
  18. [Java学习]面向对象-抽象类;接口
  19. Java线程唤醒与阻塞
  20. 1、win10下的Docker+Redis 的下载及简单使用

热门文章

  1. lable对picbox透明
  2. 历届试题_log大侠
  3. [FZU 1901]Period II KMP
  4. 洛谷P3070 [USACO13JAN]岛游记Island Travels
  5. JMeter - 实时结果 - InfluxDB和Grafana - 第2部分 - 添加自定义字段
  6. RabbitMQ权限
  7. [Leetcode]011. Container With Most Water
  8. P2161 [SHOI2009]会场预约 (线段树:线段树上的不重复覆盖数)
  9. QueueUtil
  10. 纯干货:Linux抓包命令集锦