基于PowerShell的Lync Server管理 使用C#
2024-08-24 04:54:55
这里所说的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"
最新文章
- HTML5 学习笔记(三)——本地存储
- WPF入门教程系列十四——依赖属性(四)
- EF-CodeFirst-1 玩起来
- 【131031】struts 1 中 <;html:form>;
- Java系列: 关于HttpSessionListener的sessionDestroyed什么时候触发
- C++泛型编程原理
- 菜鸟搭建Android环境~~~~绝对靠谱
- 从WeUI学习到的知识点
- CSS3 resize属性 调整div大小
- Bzoj 3781: 小B的询问 莫队,分块,暴力
- JavaScript高级编程
- JS复习:第八章
- 【转载】JAVA中综合接口和抽象类实现的一种“抽象接口”
- Vue-admin工作整理(九): 状态管理Vuex-state和getters
- Day3--Python--字符串,for循环,迭代
- 二、ARM处理器
- Linux 操作系统下,安装软件 apt-get、yum 的区别
- [Java学习]面向对象-抽象类;接口
- Java线程唤醒与阻塞
- 1、win10下的Docker+Redis 的下载及简单使用
热门文章
- lable对picbox透明
- 历届试题_log大侠
- [FZU 1901]Period II KMP
- 洛谷P3070 [USACO13JAN]岛游记Island Travels
- JMeter - 实时结果 - InfluxDB和Grafana - 第2部分 - 添加自定义字段
- RabbitMQ权限
- [Leetcode]011. Container With Most Water
- P2161 [SHOI2009]会场预约 (线段树:线段树上的不重复覆盖数)
- QueueUtil
- 纯干货:Linux抓包命令集锦