Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Lync PowerShell:为用户启用企业语音_C#_Shell_Pipeline_Lync - Fatal编程技术网

C# Lync PowerShell:为用户启用企业语音

C# Lync PowerShell:为用户启用企业语音,c#,shell,pipeline,lync,C#,Shell,Pipeline,Lync,我有下面的代码用于使用powershell命令为Lync启用用户。代码有两个步骤,第一个是启用用户,第二个是启用企业语音 using (Pipeline pipe = runspace.CreatePipeline()) { var enableCsUser = new Command("Enable-CsUser"); enableCsUser.Parameters.Add("Identity", upn); enableCsUser.Parameters.A

我有下面的代码用于使用powershell命令为Lync启用用户。代码有两个步骤,第一个是启用用户,第二个是启用企业语音

 using (Pipeline pipe = runspace.CreatePipeline())
 {
     var enableCsUser = new Command("Enable-CsUser");
     enableCsUser.Parameters.Add("Identity", upn);
     enableCsUser.Parameters.Add("SipAddress", "sip:" + sipAddress);
     enableCsUser.Parameters.Add("RegistrarPool", LyncPool);
     pipe.Commands.Add(enableCsUser);
     InvokePipeline(pipe);
 }
 using (Pipeline pipe = runspace.CreatePipeline())
 {
     var setCsUser = new Command("Set-CsUser");
     setCsUser.Parameters.Add("Identity", upn);
     setCsUser.Parameters.Add("EnterpriseVoiceEnabled", true);
     pipe.Commands.Add(setCsUser);
     InvokePipeline(pipe);
 }
第一部分工作正常,用户已启用。第二部分在
invokePiline(管道)处抛出异常对我来说没有明确的理由。我已经阅读了以下文章,并且

例外情况详情如下

System.Management.Automation.RemoteException: Management object not found for identity "lfigo@fabrekam.cloudyCloud.com".
at System.Management.Automation.PowerShell.CoreInvoke[TOutput](IEnumerable input, PSDataCollection`1 output, PSInvocationSettings settings)
at System.Management.Automation.PowerShell.Invoke(IEnumerable input, PSInvocationSettings settings)
at System.Management.Automation.PowerShell.Invoke(IEnumerable input)
at System.Management.Automation.RemotePipeline.Invoke(IEnumerable input)
at System.Management.Automation.Runspaces.Pipeline.Invoke()

我遗漏了什么吗?

这是我使用的代码。工作正常…请注意,传递一个简单的…Parameters.Add(“EnterpriseVoiceEnabled”,true)不起作用。必须将CommandParameter嵌入参数中

Pipeline pipeline = runspace.CreatePipeline();
Command enable_telephone = new Command(@"Set-CsUser");
pipeline.Commands.Add(enable_telephone);
enable_telephone.Parameters.Add("Identity", Account1.Text);
enable_telephone.Parameters.Add("LineUri", "tel:" + phone_number);
enable_telephone.Parameters.Add(new CommandParameter("EnterpriseVoiceEnabled", true));
pipeline.Invoke();

我正在使用以下命令:
ps.AddParameter(“EnterpriseVoiceEnabled”,“$True”)实现了同样的效果。OP没有说明他的情况,但是如果您远程运行代码(而不是在Lync server上),仅使用“$true”将不起作用。远程执行时,必须使用另一个内部的参数定义。