【发布时间】:2015-05-18 16:23:43
【问题描述】:
使用 C# 和 System.Management.Automation 来运行 PowerShell 命令 - 我试图了解 Pipeline.Output 属性的用途/意图。这段代码:
class Program
{
static void Main(string[] args)
{
var results = new List<PSObject>();
var stdout = new List<PSObject>();
using (var runspace = RunspaceFactory.CreateRunspace())
{
runspace.Open();
using (var pipeline = runspace.CreatePipeline())
{
pipeline.Commands.Add(new Command("Get-ChildItem"));
results.AddRange(pipeline.Invoke());
stdout.AddRange(pipeline.Output.ReadToEnd());
}
runspace.Close();
}
Console.WriteLine("results.Count: {0}", results.Count);
Console.WriteLine("stdout.Count: {0}", stdout.Count);
}
}
打印:
results.Count: 7
stdout.Count: 0
我希望这两个计数都是 7。Pipeline.Output 上的文档很少。谁能阐明 Pipeline.Output 应该用于什么?我误会了什么?
【问题讨论】:
标签: c# powershell