【问题标题】:C# Piping commands into PowerShellC# 将命令导入 PowerShell
【发布时间】:2010-11-08 06:16:50
【问题描述】:

我需要一个接一个地运行两个 powershell 命令,我应该创建两次管道还是有更好的选择?谢谢

Runspace myRunSpace = RunspaceFactory.CreateRunspace(rc);
            myRunSpace.Open();

            Pipeline pipeLine = myRunSpace.CreatePipeline();

            using (pipeLine)
            {
                Command myCommand = new Command("Get-Command...");
            }

            Pipeline pipeLine2 = myRunSpace.CreatePipeline();

            using (pipeLine2)
            {
                Command myCommand = new Command("Get-Command...");
            }

【问题讨论】:

    标签: c# powershell


    【解决方案1】:

    根据 msdn,管道就像一条“装配线”,因此如果第一个命令的结果与第二个命令无关,则不需要 Pipeline,可以使用 ScriptBlock 代替,并且使用 RunspaceInvoke 对象调用它。

    查看示例here

    【讨论】:

      【解决方案2】:

      如果您编写代码,您会更满意吗:

      using (Pipeline pipeLine = myRunSpace.CreatePipeline())
      {
          Command myCommand = new Command("Get-Command...");
      }
      

      ?

      【讨论】:

      • 这会有什么不同吗?谢谢
      猜你喜欢
      • 1970-01-01
      • 2016-06-14
      • 2017-01-16
      • 2022-12-06
      • 2010-12-28
      • 2013-09-29
      • 1970-01-01
      • 1970-01-01
      • 2016-05-18
      相关资源
      最近更新 更多