C#将命令管理到PowerShell中

时间:2009-07-05 21:03:15

标签: c# powershell

我需要一个接一个地运行两个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...");
            }

2 个答案:

答案 0 :(得分:1)

根据msdn,管道就像一个“装配线”,所以如果第一个命令的结果与第二个命令无关,你不需要管道,你可以改用ScriptBlock,使用RunspaceInvoke对象调用它。

查看示例here

答案 1 :(得分:0)

如果你写了:

,你会对你的代码感到满意吗?
using (Pipeline pipeLine = myRunSpace.CreatePipeline())
{
    Command myCommand = new Command("Get-Command...");
}