Powershell错误地返回'无效参数'错误

时间:2013-10-16 20:54:56

标签: c# powershell lync

我正在开发一个需要连接到lync可信应用程序池并执行各种任务的程序。这是安装程序,我正在设置池,应用程序,基本上连接所有的鸭子。

我可以使用以下代码创建应用程序池:

        var cmd = string.Format("new-csTrustedApplicationPool -Identity {0} -Registrar {1} -Site {2} -ComputerFqdn {3}", txtPoolIdentity.Text, registrar, site, localhost);

        try
        {
            _ps.Commands.Clear();
            _ps.AddScript(cmd);
            _ps.Invoke();

            if (_ps.Streams.Error.Any())
            {
                foreach (var errorRecord in _ps.Streams.Error)
                {
                    MessageBox.Show(errorRecord.ToString());
                }
            }
            else
            {
                MessageBox.Show(string.Format("Trusted Application Pool {0} created", txtPoolIdentity.Text));
            }
        }
        catch (Exception ex)
        {
           //Handling code
        }

var cmd = string.Format("new-csTrustedApplicationPool -Identity {0} -Registrar {1} -Site {2} -ComputerFqdn {3}", txtPoolIdentity.Text, registrar, site, localhost); try { _ps.Commands.Clear(); _ps.AddScript(cmd); _ps.Invoke(); if (_ps.Streams.Error.Any()) { foreach (var errorRecord in _ps.Streams.Error) { MessageBox.Show(errorRecord.ToString()); } } else { MessageBox.Show(string.Format("Trusted Application Pool {0} created", txtPoolIdentity.Text)); } } catch (Exception ex) { //Handling code }

正如我所说,这很好。但是,当我尝试执行以下代码时,进程失败并显示“invalid argument”错误。

try
        {
            _ps.Commands.Clear();
            _ps.AddScript("enable-CSTopology");
            _ps.Invoke();
            if (_ps.Streams.Error.Any())
            {
                foreach (var errorRecord in _ps.Streams.Error)
                {
                    MessageBox.Show(errorRecord.ToString());
                }
            }
        }
        catch (Exception ex)
        {
             //handling code
        }

除“enable-CsTopology”不带任何参数。我用Google搜索过,但我在这里没有任何牵引力。 任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:0)

感觉非常愚蠢,我后来发现PS对象没有以提升的权限运行,这导致拓扑更改失败。使用powershell命令here解决了我的问题。