C# 启用Lync用户
来源:互联网 发布:新倩女幽魂网游mac 编辑:程序博客网 时间:2024/05/20 19:49
PowerShell ps; ps = PowerShell.Create(); ps.AddScript("Set-ExecutionPolicy Unrestricted"); ps.Invoke(); ps.AddScript(@"import-module Lync"); ps.Invoke(); ps.AddScript("Enable-CsUser -Identity {0}@domain.com -RegistrarPool lyncpool.domain.com -SipAddressType UserPrincipalName"); ps.Commands.AddCommand("Out-String");Collection<PSObject> results = ps.Invoke();; foreach (PSObject obj in results) { stringBuilder.Append(obj.ToString()); } foreach (ErrorRecord error in ps.Streams.Error) { stringBuilder.Append(error.ToString()); }通过C#执行powershell命令,需要导入System.Management.Automation.dll。该组件在powershell的安装目录。
1、首先需要powershell的执行环境
2、导入Lync模块
3、执行启用Lync用户的命令
以上代码在控制台程序中运行通过,但放在IIS运行,就会出现权限不足的情况。
如果执行成功就不会有任何的返回值。如果失败就会返回错误信息。
第二种方式
RunspaceConfiguration config = RunspaceConfiguration.Create(); Runspace myRs = RunspaceFactory.CreateRunspace(config); myRs.ApartmentState = System.Threading.ApartmentState.STA; myRs.ThreadOptions = PSThreadOptions.UseCurrentThread; myRs.Open(); RunspaceInvoke scriptInvoker = new RunspaceInvoke(myRs); scriptInvoker.Invoke("Set-ExecutionPolicy Unrestricted"); scriptInvoker.Invoke(@"Import-Module Lync"); Pipeline pipeline = myRs.CreatePipeline(); pipeline.Commands.AddScript("Enable-CsUser -Identity {0}@domain.com -RegistrarPool lyncpool.domain.com -SipAddressType UserPrincipalName"); Collection<PSObject> results = pipeline.Invoke();; foreach (PSObject obj in results) { stringBuilder.Append(obj.ToString()); }这种方式可以在IIS中运行。
参考文档
http://stackoverflow.com/questions/6266108/powershell-how-to-import-module-in-a-runspace
http://gotspeech.net/blogs/marshallharrison/archive/2011/01/07/calling-powershell-from-c.aspx
http://stackoverflow.com/questions/6568160/error-executing-powershell-commandlets-using-c-sharp/6568919#6568919
- C# 启用Lync用户
- 启用Lync用户
- lync 2010启用用户访问权限不够!
- Lync Server 2010控制面板中启用并配置用户
- [10月16日的脚本] 在微软Lync Server 2010中启用用户和企业语音
- [11月15日的脚本] 在微软Lync Server 2010中搜索启用特定功能的用户
- OCS: LYNC SERVER如何启用TCP登录?
- SharePoint 2013 显示用户Lync是否在线(集成Lync)
- SharePoint 2013 显示用户Lync是否在线(集成Lync)
- Lync 2010升级到Lync 2013之Lync 2010外部用户登录设置及验证
- lync
- lync
- 关于启用Lync Server 2010 SIP账号的两个场景
- 禁用掉用户帐号,用户Lync客户端仍然可以登录!
- ubuntu启用root用户
- ubuntu 启用root用户
- Ubuntu root用户启用
- 启用用户进程跟踪
- zeroMQ入门笔记
- 一些常见爬虫
- try块的代码出现异常后,发生的事件顺序
- http://hi.baidu.com/cyberzeus/home
- 使用两个队列实现一个栈,使用两个栈实现一个队列!
- C# 启用Lync用户
- 对http提出Get请求,获取网页内容
- Ubuntu 11.04更改分辨率
- 基于UDP协议的Socket服务器
- 配置NHibernate有三种常见的配置方法
- Android 基础-生词
- soap请求体
- 序言
- 正则表达式