1

Power Shell コマンドを使用して Lync のユーザーを有効にするために使用される以下のコードがあります。コードには 2 つの手順があり、1 つ目はユーザーを有効にすること、2 つ目はエンタープライズ VoIP を有効にすることです。

 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);
 }

最初の部分は正常に機能し、ユーザーは有効になっています。InvokePipeline(pipe);2番目の部分は、明確な理由なしに例外をスローします。ここここここの次の記事をフォローしました。

例外の詳細は以下のとおりです。

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()

私は何かが恋しいですか?

4

1 に答える 1

0

これが私が使用するコードです。正常に動作します...単純な ...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();
于 2014-06-01T01:17:05.730 に答える