PowerShell AddScript API不接受管道输入

时间:2015-04-20 11:31:25

标签: c# powershell

我正在编写一个简单的C#PowerShell主机,并希望用户能够为管道清理添加一个小表达式(排序,过滤等)。

问题是PowerShell似乎不会将脚本视为接受输入。我尝试了example from MSDN但它不起作用:

PowerShell shell = PowerShell.Create().AddCommand("get-process").
                                            AddScript("foreach { $_.Name }")

抛出System.Management.Automation.ParseException因为它将foreach视为循环运算符而不是命令别名。

所以我用一个显式的cmdlet替换它:

PowerShell shell = PowerShell.Create().AddCommand("get-process").
                                            AddScript("ForEach-Object { $_.Name }")

哪个返回返回仅包含null的集合,可能是因为最后没有输入到脚本。

那是什么交易?如何在管道中获取脚本表达式以评估与命令行相同的方式?我不希望我的用户不必担心明确设置cmdlet绑定。

0 个答案:

没有答案