0

C# から次の PS スクリプトを呼び出そうとしています。

Get-MailboxDatabase -IncludePreExchange2007 -Status | Where-Object {$_.Server -eq 'myserver'}

このコードを使用して、パイプの前に最初の部分を実行することができました。

  public void Test()
  {
     using (Pipeline pipeline = _runspace.CreatePipeline())
     {
        var cmd1 = new Command("Get-MailboxDatabase");
        cmd1.Parameters.Add("IncludePreExchange2007");
        cmd1.Parameters.Add("Status");

        var cmd2 = new Command("Where-Object");
        //how do I script {$_.Server -eq 'myserver'} ???

        pipeline.Commands.Add(cmd1);
        //pipeline.Commands.Add(cmd2);

        Collection<PSObject> result = pipeline.Invoke();
     }
  }

しかし、Where-Object の 2 番目の部分をどのようにスクリプト化すればよいでしょうか???

4

2 に答える 2

2

LINQ を簡単に使用できます。

result.Where(p => (string)p.Properties["Server"].Value == "myserver"));
于 2012-12-31T17:13:13.930 に答える