如何从C#以编程方式调用CmdLet时捕获Powershell CmdLet的Object
背景
>带有SDK的PowerShell 3 履行 我用PSHostUserInterface实现了我自己的PSHost alogn. 问题 在我的应用程序中,我调用了使用WriteObject作为输出的Cmdlet.在PSHostUserInterface.Write …方法中,除了这些WriteObject的输出,我得到了所有东西.
这是我在我的应用程序中的自定义PSHost中得到的:
题 如何在C#中获取Cmdlet的所有输出? 非常感谢 解决方法
我认为理查德正在发表评论.如果使用Pipeline.Invoke()调用cmdlet,则必须:
> A)调用Pipeline.Invoke再次使用这些对象并将它们输入Out-Default或 通常,当您存储由管道输出的结果对象时,无论是在PowerShell变量$res = Get-Process还是在C#中作为Invoke()的输出,您都在处理实际的.NET对象.格式化&将这些对象呈现给主机是PowerShell在未捕获管道输出时将为您执行的另一个步骤. PowerShell有效地附加了一个| Out-在这种情况下默认为管道. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |