gpt4 book ai didi

c# - pipeline.invoke 和 powershell.invoke 有什么区别?

转载 作者:太空狗 更新时间:2023-10-29 22:59:37 32 4
gpt4 key购买 nike

我正在使用 powershell 命令来执行脚本和 cmdlet。因此,在执行 cmdlet 时,我使用了 powershell.invoke,而在执行脚本时,我使用了 pipeline.invoke 方法。我想知道 System.Management.Automation.pipeline.invoke() 方法和 System.Management.Automation.Runspaces.powershell.invoke() 之间是否有任何区别> 方法。

最佳答案

在运行空间中创建管道的方法,例如:

var pipeline = runspace.CreatePipeline();

是 1.0 的东西。也就是说,原始的 PowerShell 托管 API 要求您通过您创建的运行空间创建管道。我的猜测是,该团队收到了需要简化托管 API 的反馈,因此他们为 2.0 版本提出了 PowerShell 类。

如果您对不同之处的具体细节感兴趣,请获取 dotPeek 并打开 System.Management.Automation.dll 并仔细阅读。一个区别是 PowerShell.Invoke() 必须确定正在使用的运行空间类型,以便确定要创建的管道类型,例如本地管道或远程管道。当您使用运行空间时,您实际上创建了一个派生类(LocalRunspace 或 RemoteRunspace),其中每一个都将创建适当类型的管道。

关于c# - pipeline.invoke 和 powershell.invoke 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20399186/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com